import { FileInfo as IFileInfo, FileMetaInfo, File } from '../type';
import { FileMeta } from './filemeta';
export declare class FileInfo implements FileMetaInfo {
    private readonly fileInfo;
    private _fileMeta;
    constructor(fileInfo: IFileInfo, fileMeta: FileMeta);
    meta(): FileMeta;
    type(): number;
    info(): IFileInfo;
    setMeta(meta: FileMeta): void;
    name(): string;
    size(): number;
    mode(): number;
    modTime(): Date;
    isDir(): boolean;
    sys(): any;
    fileName(): string;
    relativeFilename(): string;
    component(): string;
    root(): string;
    open(): Promise<File>;
}
export declare function newFileInfo(fi: IFileInfo, filename: string): FileInfo;
export declare function newFileInfoWithMeta(fi: IFileInfo, meta: FileMeta): FileInfo;
