/**
 * Enum for file type
 */
export declare enum FileType {
    FileSystem = 0,
    Cloud_GSB = 1,
    Cloud_Azure = 2,
    Cloud_AWS = 3,
    Cloud_Google = 4
}
/**
 * Enum for listing type
 */
export declare enum ListingType {
    Folder = 1,
    File = 2
}
/**
 * Represents a chunk info for file
 */
export declare class ChunkInfo {
    _entDefName?: string;
    files?: GsbFile[];
    totalSize?: number;
    constructor(obj?: Partial<ChunkInfo>);
}
/**
 * Represents a split files result
 */
export declare class SplitFilesResult {
    _entDefName?: string;
    totalSize?: number;
    chunks?: ChunkInfo[];
    constructor(obj?: Partial<SplitFilesResult>);
}
/**
 * Represents a GSB File entity
 */
export declare class GsbFile {
    _entDefName?: string;
    id?: string;
    name?: string;
    path?: string;
    properties?: string;
    fileType?: FileType;
    listingType?: ListingType;
    versionMajor?: number;
    versionMinor?: number;
    buildNumber?: number;
    contentType?: string;
    icon?: string;
    parent?: GsbFile;
    parent_id?: string;
    children?: GsbFile[];
    publicUrl?: string;
    size?: number;
    fileToUpload?: File;
    editPermission_id?: string;
    readPermission_id?: string;
    deletePermission_id?: string;
    createDate?: Date;
    lastUpdateDate?: Date;
    createdBy_id?: string;
    lastUpdatedBy_id?: string;
    title?: string;
    constructor(obj?: Partial<GsbFile>);
}
