import { ModuleBase_AssetUploader, UploaderConfig } from '../../shared/modules/ModuleBase_AssetUploader.js';
import { Axios_RequestConfig } from '@nu-art/thunderstorm/backend/index';
import { TempSignedUrl, UI_Asset } from '../shared.js';
import { ApiDef, BaseHttpRequest, TypedApi } from '@nu-art/thunderstorm';
export type ServerFilesToUpload = UI_Asset & {
    file: Buffer;
};
type Config = UploaderConfig & {
    requestConfig: Axios_RequestConfig;
};
export declare class ModuleBE_AssetUploader_Class extends ModuleBase_AssetUploader<Config> {
    constructor();
    init(): void;
    createRequest<API extends TypedApi<any, any, any, any>>(uploadFile: ApiDef<API>): BaseHttpRequest<API>;
    upload(files: ServerFilesToUpload[]): UI_Asset[];
    protected subscribeToPush(toSubscribe: TempSignedUrl[]): Promise<void>;
}
export declare const ModuleBE_AssetUploader: ModuleBE_AssetUploader_Class;
export {};
