import { FileMetaInfo } from '../../fs';
import { Path, PathType } from '@internal/domain/paths';
import { File } from '../type';
import { File as FsFile } from '@internal/domain/fs';
export declare class FileInfo implements File {
    private fileMetaInfo;
    private pathInfo;
    private bundleType;
    private uniqueIDCache?;
    private lazyInitDone;
    private constructor();
    static newFileInfo(fi: FileMetaInfo): FileInfo;
    pageFile(): File;
    shiftToResource(): void;
    relPath(): string;
    section(): string;
    isZero(): boolean;
    filename(): string;
    dir(): string;
    ext(): string;
    logicalName(): string;
    originalBaseFileName(): string;
    baseFileName(): string;
    translationBaseName(): string;
    contentBaseName(): string;
    baseNameNoIdentifier(): string;
    root(): string;
    uniqueID(): string;
    fileInfo(): FileMetaInfo;
    type(): string;
    open(): Promise<FsFile>;
    paths(): Path;
    path(): string;
    toString(): string;
    getBundleType(): PathType;
    isBundle(): boolean;
    isLeafBundle(): boolean;
    isBranchBundle(): boolean;
    isContentResource(): boolean;
    isContent(): boolean;
    private init;
    private pathToDir;
    private determineBundleType;
}
export declare function newFileInfo(fi: FileMetaInfo): FileInfo;
export { PathType };
