import { Cache, StateObject } from "@hpcc-js/util";
import { IConnection, IOptions } from "../connection";
import { DFUService, WsDfu } from "../services/wsDFU";
export declare class LogicalFileCache extends Cache<{
    BaseUrl: string;
    Cluster: string;
    Name: string;
}, LogicalFile> {
    constructor();
}
export interface DFUPartEx extends WsDfu.DFUPart {
    Cluster: string;
    BaseDir: string;
    ReplicateDir: string;
    Replicate: boolean;
    CanReplicate: boolean;
}
export interface FileDetailEx extends WsDfu.FileDetail {
    Cluster: string;
    StateID?: number;
}
export declare class LogicalFile extends StateObject<FileDetailEx, FileDetailEx> implements FileDetailEx {
    protected connection: DFUService;
    readonly BaseUrl: string;
    readonly Cluster: string;
    readonly Name: string;
    readonly Filename: string;
    readonly Prefix: string;
    readonly NodeGroup: string;
    readonly NumParts: number;
    readonly Description: string;
    readonly Dir: string;
    readonly PathMask: string;
    readonly Filesize: string;
    readonly FileSizeInt64: number;
    readonly RecordSize: string;
    readonly RecordCount: string;
    readonly RecordSizeInt64: number;
    readonly RecordCountInt64: number;
    readonly Wuid: string;
    readonly Owner: string;
    readonly JobName: string;
    readonly Persistent: string;
    readonly Format: string;
    readonly MaxRecordSize: string;
    readonly CsvSeparate: string;
    readonly CsvQuote: string;
    readonly CsvTerminate: string;
    readonly CsvEscape: string;
    readonly Modified: string;
    readonly Ecl: string;
    readonly Stat: WsDfu.Stat;
    readonly DFUFilePartsOnClusters: WsDfu.DFUFilePartsOnClusters;
    readonly isSuperfile: boolean;
    readonly ShowFileContent: boolean;
    readonly subfiles: WsDfu.subfiles;
    readonly Superfiles: WsDfu.Superfiles;
    readonly ProtectList: WsDfu.ProtectList;
    readonly FromRoxieCluster: boolean;
    readonly Graphs: WsDfu.Graphs;
    readonly UserPermission: string;
    readonly ContentType: string;
    readonly CompressedFileSize: number;
    readonly PercentCompressed: string;
    readonly IsCompressed: boolean;
    readonly BrowseData: boolean;
    readonly jsonInfo: string;
    readonly binInfo: WsDfu.base64Binary;
    readonly PackageID: string;
    readonly Partition: WsDfu.Partition;
    readonly Blooms: WsDfu.Blooms;
    readonly ExpireDays: number;
    readonly KeyType: string;
    readonly IsRestricted: boolean;
    readonly AtRestCost: number;
    readonly AccessCost: number;
    readonly StateID: number;
    readonly ExpirationDate: string;
    readonly ExtendedIndexInfo: WsDfu.ExtendedIndexInfo;
    readonly properties: FileDetailEx;
    static attach(optsConnection: IOptions | IConnection | DFUService, Cluster: string, Name: string, state?: FileDetailEx): LogicalFile;
    protected constructor(optsConnection: IOptions | IConnection | DFUService, Cluster: string, Name: string);
    filePartsOnCluster(): WsDfu.DFUFilePartsOnCluster[];
    fileParts(): DFUPartEx[];
    update(request: Partial<WsDfu.DFUInfoRequest>): Promise<WsDfu.DFUInfoResponse>;
    fetchInfo(): Promise<WsDfu.FileDetail>;
    fetchDefFile(format: WsDfu.DFUDefFileFormat): Promise<string>;
    fetchListHistory(): Promise<WsDfu.Origin[]>;
    eraseHistory(): Promise<WsDfu.Origin[]>;
}
//# sourceMappingURL=logicalFile.d.ts.map
