import { ApiDef, ApiDefResolver, BodyApi, HttpMethod, QueryApi } from '@nu-art/thunderstorm';
import { DB_Asset } from './types1';
import { DB_BaseObject } from '@nu-art/ts-common';
import { UI_Asset } from './types';
import { ResponseError } from '@nu-art/ts-common/core/exceptions/types';
import { FileStatus } from '../types';
export type SignedUrl = {
    signedUrl: string;
};
export type TempSignedUrl = SignedUrl & {
    asset: DB_Asset;
};
export type ApiStruct_Assets = {
    vv1: {
        getReadSignedUrl: BodyApi<SignedUrl, DB_BaseObject>;
    };
};
export declare const ApiDef_Assets: ApiDefResolver<ApiStruct_Assets>;
export type FileUploadResult = {
    status: FileStatus;
    asset: DB_Asset;
};
export type Api_UploadFile = BodyApi<FileUploadResult, any, any, ResponseError, HttpMethod.PUT>;
export declare const ApiDef_UploadFile: ApiDef<Api_UploadFile>;
export type ApiStruct_AssetUploader = {
    vv1: {
        getUploadUrl: BodyApi<TempSignedUrl[], UI_Asset[]>;
        processAssetManually: QueryApi<void[], {
            feId?: string;
        }>;
    };
};
export declare const ApiDef_AssetUploader: ApiDefResolver<ApiStruct_AssetUploader>;
