import {IFileInput} from './IFileInput';
import {IEmbeddedFileInput} from './IEmbeddedFileInput';
import {IImageInput} from './IImageInput';
import {IBrowserModal} from './IBrowserModal';
import {IFactory as IComponentsFactory} from '../IFactory';
import {IFileContextMenu} from './IFileContextMenu';

export interface IFactory {
    init(conf:any): void;
    setComponentsFactory(factory:IComponentsFactory):void;
    createFileInput():IFileInput;
    createEmbeddedFileInput(): IEmbeddedFileInput;
    createEmbeddedImageInput():IEmbeddedFileInput;
    createImageInput():IImageInput;
    getBrowserModal():IBrowserModal;
    getFileContextMenu():IFileContextMenu;
}