import { ServiceParameters } from "../services/service.js";
import { MessageReceipt, Queue, QueueParameters } from "./queueservice.js";
export declare class FileQueueParameters extends QueueParameters {
    /**
     * Number of seconds before droping message
     *
     * @default 30
     */
    expire?: number;
    /**
     * Where to store the queue
     */
    folder: string;
    constructor(params: any);
}
/**
 * FIFO Queue on filesystem
 * @category CoreServices
 * @WebdaModda
 */
export declare class FileQueue<T = any, K extends FileQueueParameters = FileQueueParameters> extends Queue<T, K> {
    /**
     * @inheritdoc
     */
    loadParameters(params: any): ServiceParameters;
    /**
     * Create the storage folder if does not exist
     */
    computeParameters(): void;
    /**
     * @inheritdoc
     */
    size(): Promise<number>;
    /**
     * Return file
     * @param uid
     * @returns
     */
    getFile(uid: string): string;
    /**
     * @inheritdoc
     */
    sendMessage(params: any): Promise<void>;
    /**
     * @inheritdoc
     */
    receiveMessage<L>(proto?: {
        new (): L;
    }): Promise<MessageReceipt<L>[]>;
    /**
     * @inheritdoc
     */
    deleteMessage(receipt: any): Promise<void>;
    /**
     * @inheritdoc
     */
    __clean(): Promise<void>;
}
