import type { IQueueAdapter, QueueJobOptions, JobCounts, JobHandler } from './types.js';
/**
 * In-memory queue adapter implementation
 */
export declare class MemoryQueueAdapter implements IQueueAdapter {
    private jobs;
    private handlers;
    private processing;
    private closed;
    private processTimer;
    private readonly name;
    constructor(name: string);
    /**
     * Add a job to the queue
     */
    add<T>(name: string, data: T, options?: QueueJobOptions): Promise<string>;
    /**
     * Register a job handler
     */
    process<T>(handler: JobHandler<T>): void;
    /**
     * Get job counts by status
     */
    getJobCounts(): Promise<JobCounts>;
    /**
     * Close the queue and stop processing
     */
    close(): Promise<void>;
    /**
     * Schedule job processing
     */
    private scheduleProcessing;
    /**
     * Process jobs in the queue
     */
    private processJobs;
    /**
     * Process a single job
     */
    private processJob;
    /**
     * Check if there are waiting jobs
     */
    private hasWaitingJobs;
}
/**
 * Factory function to create a memory queue adapter
 */
export declare function createMemoryQueueAdapter(name: string): IQueueAdapter;
//# sourceMappingURL=memory-queue.d.ts.map