/// <reference types="node" />
import TransferClient, { ClientInfo, TransferClientInitializationOptions } from './TransferClient';
import { LocalFile } from '../../external';
import TransferClientState from '../enums/TransferClientState';
import EventEmitter from 'events';
export default class AppClient extends EventEmitter implements TransferClient {
    private _clientId;
    private _messageChannel;
    private readonly _originatorId;
    private readonly _messageServiceUrl;
    private _transferClientInitializationOptions;
    private _messageServiceStateChangeListenerBoundInstance;
    private readonly _messageTimeoutMillis;
    private _clientInfo;
    constructor({ messageServiceUrl, messageTimeoutMillis, }: {
        messageServiceUrl: string;
        messageTimeoutMillis?: number;
    });
    cancelTransfer(originator: string): Promise<void>;
    initialize(options?: TransferClientInitializationOptions): Promise<void>;
    private listenToMessageServiceStateChange;
    reinitialize(): Promise<void>;
    get clientInfo(): ClientInfo;
    private getClientInfo;
    get initialized(): boolean;
    get state(): TransferClientState;
    openFolder(path: any, originator: any): Promise<void>;
    selectDestinationFolder(originator?: string): Promise<string>;
    selectFiles(originator: string): Promise<LocalFile[]>;
    removeSelectedFiles(paths: string[], originator: string): Promise<void>;
    startDownload(originator: any, transferConfig: any): Promise<void>;
    startUpload(originator: any, transferConfig: any): Promise<void>;
    sendMessageRequest({ originator, context, content, }: {
        originator?: string;
        context: string;
        content?: object;
    }): Promise<any>;
    setEventHandler(originator: any, eventType: any, callback: any): void;
    private validateEventType;
    removeEventHandler(originator: any, eventType: any): boolean;
    removeAllEventHandlers(originator: any): boolean;
}
//# sourceMappingURL=AppClient.d.ts.map