import type { Task } from '../../../models';
/**
 * Extends Partial to make all own properties also Partial
 */
export type RecursivePartial<T> = {
    [P in keyof T]?: RecursivePartial<T[P]> | T[P];
};
/**
 * Generate a Task
 * @todo: move from faker to a three-shakable smaller lib
 */
export declare const generateTask: (_task?: RecursivePartial<Task>) => Task;
export declare class TaskMock {
    readonly entities: Record<string, Task>;
    get tasks(): Task[];
    add(task?: Task): Record<string, Task>;
    remove(id: Task['id']): boolean;
    resume(id: Task['id']): void;
    pause(id: Task['id']): void;
}
export declare const activateDemo: (task: TaskMock, interval?: number) => NodeJS.Timer;
export declare const patchTasks: (_global?: Window & typeof globalThis) => TaskMock;
//# sourceMappingURL=synology.task.mock.d.ts.map