import type { CustomQueueRepositoryProps, HandlerMap, Task } from '../types/index.js';
import { BaseQueueRepository } from './base.repository.js';
import type { QueueRepository } from './repository.interface.js';
export declare class CustomQueueRepository extends BaseQueueRepository implements QueueRepository {
    private readonly customProps;
    constructor(customProps: CustomQueueRepositoryProps);
    deleteTask(id: string, hardDelete?: boolean): Promise<Task<HandlerMap> | undefined>;
    loadTasks(status?: Task<HandlerMap>['status']): Promise<Task<HandlerMap>[]>;
    saveTasks(tasks: Task<HandlerMap>[], _status?: Task<HandlerMap>['status']): Promise<Task<HandlerMap>[]>;
    updateTask(id: string, obj: Partial<Task<HandlerMap>>): Promise<Task<HandlerMap> | undefined>;
    enqueue(task: Task<HandlerMap>): Promise<void>;
    dequeue(): Promise<Task<HandlerMap> | null>;
}
