import { ServiceParameters } from "../services/service.js";
import { MessageReceipt, Queue, QueueParameters } from "./queueservice.js";
export declare class MemoryQueueParameters extends QueueParameters {
    /**
     * Number of seconds before droping message
     *
     * @default 30
     */
    expire?: number;
    constructor(params: any);
}
/**
 * FIFO Queue in Memory
 * @category CoreServices
 * @WebdaModda
 */
export declare class MemoryQueue<T = any, K extends MemoryQueueParameters = MemoryQueueParameters> extends Queue<T, K> {
    private _queue;
    /**
     * Load parameters
     *
     * @param params
     * @ignore
     */
    loadParameters(params: any): ServiceParameters;
    /**
     * Return queue size
     */
    size(): Promise<number>;
    sendMessage(params: any): Promise<void>;
    /**
     * @inheritdoc
     */
    receiveMessage<L>(proto?: {
        new (): L;
    }): Promise<MessageReceipt<L>[]>;
    /**
     * @inheritdoc
     */
    deleteMessage(receipt: any): Promise<void>;
    /**
     * @inheritdoc
     */
    __clean(): Promise<void>;
}
