import * as fs from './fs';
import { Result } from './result';
export declare function createFSPool(concurrentSize: number): {
    exist(filename: string): Promise<boolean>;
    hasFile(filename: string): Promise<boolean>;
    hasDirectory(filename: string): Promise<boolean>;
    scanRecursively(args: {
        entryPath: string;
        onFile?: (filename: string, basename: string) => Result<void>;
        onDir?: (dirname: string, basename: string) => Result<void>;
        onComplete?: () => Result<void>;
        dereferenceSymbolicLinks?: boolean;
        skipDir?: (dirname: string, basename: string) => boolean;
    }): Promise<void>;
    scanRecursivelySync(args: {
        entryPath: string;
        onFile?: (filename: string, basename: string) => void;
        onDir?: (dirname: string, basename: string) => void;
        onComplete?: () => void;
        dereferenceSymbolicLinks?: boolean;
        skipDir?: (dirname: string, basename: string) => boolean;
    }): void;
    readJsonFile(file: string): Promise<any>;
    readJsonFileSync(file: string): any;
    writeJsonFile(file: string, value: any, options?: {
        format?: boolean;
    }): Promise<void>;
    writeJsonFileSync(file: string, value: any, options?: {
        format?: boolean;
    }): void;
    iterateFileByLine(file: string, options?: fs.IterateFileByLineOptions): Generator<string>;
    verboseWriteFileSync(file: string, content: string | Buffer): void;
    getDirFilenamesSync(dir: string): string[];
    getDirFilenames(dir: string): Promise<string[]>;
    isMetadataFilename(filename: string): boolean;
};
