/// <reference types="node" />
import fs from 'fs';
export interface ReadDirRecursivelyOptionsBase {
    filter?: (filePath: string, stats: fs.Stats) => boolean;
    absoluteFilePaths?: boolean;
    includeDirs?: boolean;
    includeStats?: false;
}
export interface ReadDirRecursivelyOptionsWithStats extends Omit<ReadDirRecursivelyOptionsBase, 'includeStats'> {
    includeStats: true;
}
export type ReadDirRecursivelyOptions = ReadDirRecursivelyOptionsWithStats | ReadDirRecursivelyOptionsBase;
export interface ReadDirResultWithStats {
    filePath: string;
    stats: fs.Stats;
}
export declare function readDirRecursively(dir: string, options?: ReadDirRecursivelyOptionsBase): Promise<string[]>;
export declare function readDirRecursively(dir: string, options?: ReadDirRecursivelyOptionsWithStats): Promise<ReadDirResultWithStats[]>;
export declare function readDirRecursivelyWithExtensions(dirPath: string, allowedExtensions: string[]): Promise<string[]>;
export declare function parseFirstExistingFile(fileNames: string[], inputDir: string): Promise<any>;
export declare function getFirstExistingFile(fileNames: string[], inputDir: string): Promise<string | undefined>;
export declare function parseFile(filePath: string): Promise<any>;
export declare function parseDataByFilePath(string: string, filePath: string): any;
export declare function parseMarkdownWithFrontMatter(string: string): {
    frontmatter: any;
    markdown: string;
};
export declare function outputData(filePath: string, data: any): Promise<void>;
export declare function stringifyDataByFilePath(data: any, filePath: string): string;
//# sourceMappingURL=file-utils.d.ts.map