import { ModuleConfig, MediaPickerComponents, ComponentConfigs } from 'mediapicker';
import { ContextConfig, MediaStateManager, MediaState, UploadParams } from '@atlaskit/media-core';
import { ErrorReportingHandler } from '../../utils';
export declare type PickerType = keyof MediaPickerComponents;
export default class PickerFacade {
    private stateManager;
    private picker;
    private onStartListeners;
    private errorReporter;
    private uploadParams;
    constructor(pickerType: PickerType, uploadParams: UploadParams, contextConfig: ContextConfig, stateManager: MediaStateManager, errorReporter: ErrorReportingHandler, mediaPickerFactory?: (pickerType: PickerType, pickerConfig: ModuleConfig, extraConfig?: ComponentConfigs[PickerType]) => MediaPickerComponents[PickerType]);
    destroy(): void;
    setUploadParams(params: UploadParams): void;
    show(): void;
    cancel(tempId: string): void;
    upload(url: string, fileName: string): void;
    onNewMedia(cb: (state: MediaState) => any): void;
    private buildPickerConfigFromContext(context);
    private getDropzoneContainer();
    private handleUploadStart;
    private handleUploadStatusUpdate;
    private handleUploadProcessing;
    private handleUploadFinalizeReady;
    private handleUploadError;
    private handleUploadEnd;
    private handleUploadPreviewUpdate;
}
