import { ProvideEntity } from '../../../../common/model_factory.cjs';

declare type EncodingType = `utf8` | `ascii` | `binary` | `base64`;
declare class FileObject {
    content: unknown;
    filename: string;
    size: number;
    mimeType: string;
    path: string;
    relativePath?: string | undefined;
    encoding?: EncodingType | undefined;
    lastModified: string;
    sourceType?: "LOCAL" | "CLOUD" | undefined;
    oriPath?: string | undefined;
    oriName?: string | undefined;
    constructor(content: unknown, filename: string, size: number, mimeType: string, path: string, relativePath?: string | undefined, encoding?: EncodingType | undefined, lastModified?: string, sourceType?: "LOCAL" | "CLOUD" | undefined, oriPath?: string | undefined, oriName?: string | undefined);
    static factory: (input: ProvideEntity<FileObject, "lastModified">, options?: {
        defaultValue: boolean;
        excludeExtraProp: boolean;
    } | undefined, customMapperOverride?: ((input: ProvideEntity<FileObject, "lastModified">) => never) | undefined) => FileObject;
    getContent: <T>() => T;
}

export { EncodingType, FileObject };
