import Session from '../Services/Identity/Session';
import { SessionBasedService } from '../Services/SessionBasedService';
import { ResourceProcessDoneResult, ResourceProcessEventResult, ResourceProcessResult, ResourceUploadResult } from './ResourceResults';
import ResourceUploadType from './ResourceUploadType';
export default class ResourceUploadApi extends SessionBasedService {
    private prepare_resource;
    private post_process_resource;
    private get_process_resource;
    private processedCallbacks;
    private realTime;
    constructor(session: Session);
    prepare(type: ResourceUploadType, body?: any): Promise<ResourceUploadResult>;
    process(resourceId: string, doneEvent: any): Promise<ResourceProcessResult>;
    progress(resourceId: string): Promise<ResourceProcessDoneResult>;
    registerOnProcessed(resourceId: string, callback: (data: ResourceProcessEventResult) => void): () => {
        resourceId: string;
        callback: (data: ResourceProcessEventResult) => void;
    }[];
    private onProcessed;
}
