export interface CronTask {
    start(): void;
    stop(): void;
    destroy(): void;
}
export interface CronAdapter {
    validate(expression: string): boolean;
    schedule(expression: string, callback: () => void | Promise<void>, options?: {
        scheduled?: boolean;
    }): CronTask;
}
export declare class NodeCronAdapter implements CronAdapter {
    validate(expression: string): boolean;
    schedule(expression: string, callback: () => void | Promise<void>, options?: {
        scheduled?: boolean;
    }): CronTask;
}
export declare class MockCronAdapter implements CronAdapter {
    private mockTasks;
    private shouldValidate;
    setShouldValidate(value: boolean): void;
    validate(expression: string): boolean;
    schedule(expression: string, callback: () => void | Promise<void>, options?: {
        scheduled?: boolean;
    }): CronTask;
    getTasks(): Map<string, MockCronTask>;
    clear(): void;
}
declare class MockCronTask implements CronTask {
    private isRunning;
    private callback;
    private destroyed;
    constructor(callback: () => void | Promise<void>, autoStart?: boolean);
    start(): void;
    stop(): void;
    destroy(): void;
    isActive(): boolean;
    isDestroyed(): boolean;
    trigger(): Promise<void>;
}
export {};
//# sourceMappingURL=cron-adapter.d.ts.map