declare type ShellCommand = string; declare type CustomFn = Function; export declare type NamedTask = Readonly<{ name: string; task: Task; }>; export declare type AllTaskTypes = ShellCommand | CustomFn | NamedTask; export declare type Lifecycle = ReadonlyArray>; export declare type Task = AllTaskTypes | Lifecycle; export declare type Copy = { dest: string; src: string; hash?: boolean; }; export declare type NormalizedClean = { del: Array; makeDirs: Array; copy: Array; }; export declare type Clean = { del?: string | string[]; makeDirs?: string | string[]; copy?: Copy | Copy[]; }; export declare type CopyFileOptions = { makeDirs?: string[] | string; skip?: string[] | string; allowChanges?: string[] | string | boolean; ignoreUpdates?: string[] | string | boolean; }; export declare function isCopyFileOptions(obj: any): obj is CopyFileOptions; export declare type CopyFile = { src: string; dest: string; allowChanges?: boolean; ignoreUpdates?: boolean; }; export declare function isCopyFile(obj: any): obj is CopyFile; export declare type FileManager = Array; export declare type Config = { [key: string]: any; }; declare type PresetTask = AllTaskTypes | false | ReadonlyArray | false>; export declare type Files = CopyFile | CopyFileOptions | false | ReadonlyArray; export declare type Resolve = { [key: string]: string; }; export declare type Preset = { presets?: string | ReadonlyArray; build?: PresetTask; dev?: PresetTask; lint?: PresetTask; format?: PresetTask; test?: PresetTask; clean?: Clean | false | ReadonlyArray; files?: Files; packageJson?: PackageJson | false | ReadonlyArray; config?: Config | false | ReadonlyArray; } & { [key: string]: PresetTask; }; export declare type Lifecycles = { build?: Lifecycle; dev?: Lifecycle; lint?: Lifecycle; test?: Lifecycle; format?: Lifecycle; clean?: NormalizedClean; files?: ParsedFiles; packageJson?: ReadonlyArray; config?: ReadonlyArray; resolve?: Resolve; } & { [key: string]: Lifecycle; }; export declare type ParsedFiles = { src: { files: string[]; absolute: { [key: string]: string; }; hash: { [key: string]: string; }; }; dest: { files: string[]; absolute: { [key: string]: string; }; hash: { [key: string]: string; }; allowChanges: { [key: string]: boolean; }; ignoreUpdates: { [key: string]: boolean; }; }; makeDirs: string[]; }; export declare type FileStats = Readonly<{ [key: string]: string; }>; export declare type DirStats = ReadonlyArray; export declare type FileManagerStats = Readonly<{ directories?: DirStats; files?: FileStats; }>; export declare type StatsFile = Readonly<{ fileManager?: FileManagerStats; packageJson?: PackageJson; }>; export declare type Scripts = Readonly<{ [key: string]: string | null; }>; export declare type PackageJson = Readonly<{ scripts?: Scripts; }> & Readonly<{ [key: string]: unknown; }>; export declare type CustomError = Readonly<{ message: string; exitCode: number; }>; export {}; //# sourceMappingURL=types.d.ts.map