import { TasksPool } from "./tasks-pool.js";
import { TasksQueueDao } from "./tasks-queue.dao.js";
import { SchedulePeriodicTaskDetails, ScheduleTaskDetails } from "./tasks-model.js";
import { TasksWorker } from "./tasks-worker.js";
export declare const DEFAULT_POOL = "default";
export declare class TasksPoolsService {
    private readonly dao;
    private readonly pools;
    private readonly queuesPool;
    private readonly auxiliaryWorker;
    constructor(dao: TasksQueueDao, pools?: TasksPool[]);
    start(): void;
    stop(timeoutMs?: number): Promise<void>;
    registerWorker(queueName: string, worker: TasksWorker, poolName?: string): void;
    schedule(task: ScheduleTaskDetails): Promise<void>;
    scheduleAtFixedRate(task: SchedulePeriodicTaskDetails): Promise<void>;
    scheduleAtFixedDelay(task: SchedulePeriodicTaskDetails): Promise<void>;
    private taskScheduled;
}
