import { Paths, PathFields, PathDefinitions } from "./path"; import { FileDefinition } from "./file"; export declare type DirectoryDefinition = { files: FilesDefinition; } & Pick; export declare type FilesDefinition = PathDefinitions | ((...args: any) => PathDefinitions); export declare type Directory = PathFields & DirectoryFields; export declare type DirectoryFields = { files: ((...args: any) => Paths); read: () => Promise; write: () => Promise; writeSync: () => boolean; }; export declare function isFunction(files: FilesDefinition): files is ((...args: any) => PathDefinitions); export declare function defineDirectory(directory: DirectoryDefinition, parent?: string): Directory;