/**
 * A generic queue class for processing messages with handler functions
 * @template T - Type of messages stored in the queue
 */
export declare class Queue<T> {
    private handler;
    protected pending: T[];
    /**
     * Creates a Queue instance
     * @param handler - The function to handle queue messages. Receives message and next callback.
     * @param queue - Optional initial array of messages (default empty array)
     */
    constructor(handler: (message: T, next: (processed: boolean) => void) => void, queue?: T[]);
    /**
     * Adds a message to the queue and triggers processing
     * @param message - The message to add to the queue
     */
    enqueue(message: T): void;
    /**
     * Placeholder method for queue persistence (to be implemented)
     * @param _throw - If true, throws error to indicate not implemented
     * @throws {Error} When _throw is true
     */
    save(_throw?: boolean): void;
    /** @private Flag indicating if queue is currently processing */
    private processing;
    /** @private Currently processed message */
    private current;
    /**
     * Starts processing messages in the queue
     * @private
     */
    process(): boolean;
}
