import { ArgsNum } from '../utils'; export declare function _fast_remove_single(arr: any[], index: number): void; export declare class TaskCollection void, AwaitTasks extends true | false = false> { readonly awaitTasks: AwaitTasks; constructor(argsNum: ArgsNum, autoRebuild?: boolean, initialTasks?: (Func[]) | Func | null, awaitTasks?: AwaitTasks); /** DO NOT CHANGE DIRECTLY */ _tasks: (Func[]) | Func | null; /** cached */ length: number; /** auto rebuild on first emit call; otherwise autorebuild on every change */ firstEmitBuildStrategy: boolean; readonly argsNum: ArgsNum; autoRebuild: boolean; readonly growArgsNum: typeof growArgsNum; setAutoRebuild: typeof setAutoRebuild; call: (...args: Parameters) => (AwaitTasks extends true ? Promise : void); rebuild: () => void; push: (...func: Func[]) => void; /** remove last matched task from tasks */ removeLast: (func: Func) => void; insert: (index: number, ...func: Func[]) => void; setTasks: (tasks: Func[]) => void; tasksAsArray: () => Func[]; /** this autorebuilds */ readonly clear: typeof clear; /** this autorebuilds */ readonly fastClear: typeof fastClear; } declare function fastClear void, AwaitTasks extends true | false = false>(this: TaskCollection): void; declare function clear void, AwaitTasks extends true | false = false>(this: TaskCollection): void; declare function growArgsNum void, AwaitTasks extends true | false = false>(this: TaskCollection, argsNum: number): void; declare function setAutoRebuild void, AwaitTasks extends true | false = false>(this: TaskCollection, newVal: boolean): void; export {};