import { BaseHttpRequest } from '@nu-art/thunderstorm';
import { Auditable, DB_Object, TS_Object } from '@nu-art/ts-common';
import { FileStatus } from '../types';
export type Request_Uploader = {
    name: string;
    mimeType: string;
    key?: string;
    public?: boolean;
    metadata?: TS_Object;
};
export type BaseUploaderFile = Request_Uploader & {
    feId: string;
};
export type DB_Asset = DB_Object & BaseUploaderFile & Auditable & Required<Pick<BaseUploaderFile, 'key'>> & {
    timestamp: number;
    ext: string;
    md5Hash?: string;
    path: string;
    bucketName: string;
    signedUrl?: {
        url: string;
        validUntil: number;
    };
};
export type FileInfo = {
    status: FileStatus;
    messageStatus?: string;
    progress?: number;
    name: string;
    request?: BaseHttpRequest<any>;
    file?: any;
    asset?: DB_Asset;
};
