import { ThunderDispatcher } from '@nu-art/thunderstorm/frontend/index';
import { ApiStruct_AssetUploader, OnFileStatusChanged, TempSignedUrl, UI_Asset } from '../../shared/index.js';
import { ModuleBase_AssetUploader } from '../../shared/modules/ModuleBase_AssetUploader.js';
import { PushMessage_Payload } from '@nu-art/push-pub-sub';
import { ApiDef, ApiDefCaller, BaseHttpRequest, TypedApi } from '@nu-art/thunderstorm';
import { PushMessage_FileUploaded } from '../../shared/assets/messages.js';
export declare class ModuleFE_AssetUploader_Class extends ModuleBase_AssetUploader {
    protected readonly dispatch_fileStatusChange: ThunderDispatcher<OnFileStatusChanged, "__onFileStatusChanged", [id: string], void>;
    readonly vv1: ApiDefCaller<ApiStruct_AssetUploader>['vv1'];
    constructor();
    upload(files: File[], key: string, _public?: boolean): UI_Asset[];
    createRequest<API extends TypedApi<any, any, any, any>>(uploadFile: ApiDef<API>): BaseHttpRequest<API>;
    protected dispatchFileStatusChange(id: string): void;
    protected subscribeToPush(toSubscribe: TempSignedUrl[]): Promise<void>;
    __onMessageReceived(notification: PushMessage_Payload<PushMessage_FileUploaded>): void;
}
export declare const ModuleFE_AssetUploader: ModuleFE_AssetUploader_Class;
