export declare const pathSeparator = "/"; export declare type DirectoryContent = { [key: string]: string | DirectoryContent; }; export interface SimpleStats { type: 'dir' | 'file'; } export interface FileSystemNode extends SimpleStats { name: string; fullPath: string; } export declare class ShallowDirectory implements FileSystemNode { name: string; fullPath: string; type: 'dir'; constructor(name: string, fullPath: string); } export declare class Directory implements FileSystemNode { name: string; fullPath: string; children: Array; type: 'dir'; constructor(name: string, fullPath: string, children?: Array); static walk(directory: Directory, path: string | string[]): Directory | null; static getSubDir(directory: Directory, path: string | string[]): Directory | null; static clone(node: Directory, path?: string | string[]): Directory; static cloneStructure(node: Directory): Directory; static fromContent(content: DirectoryContent, name?: string, location?: string): Directory; static toContent(directory: Directory): DirectoryContent; /** * add one directory to another, in-place * @returns {Directory} subject argument */ static mix(subject: Directory, mixin: Directory): Directory; } export declare class File implements FileSystemNode { name: string; fullPath: string; type: 'file'; content?: string; constructor(name: string, fullPath: string, content?: string); } export declare function isFile(node?: FileSystemNode | null): node is File; export declare function isDir(node?: FileSystemNode | null): node is Directory; //# sourceMappingURL=model.d.ts.map