export interface IdPoolOptions {
    prefix?: string;
    suffix?: string;
    autoRefill?: boolean;
    generator?: (index: number) => string;
}
export declare class IdPool {
    private available;
    private released;
    private generated;
    private readonly prefix;
    private readonly suffix;
    private readonly autoRefill;
    private readonly generator?;
    constructor(size: number, options?: IdPoolOptions);
    private createId;
    private fill;
    acquire(): string;
    release(id: string): void;
    drain(): void;
    refill(count: number): void;
    get size(): number;
    get totalGenerated(): number;
}
export declare function useIdPool(size: number, prefix?: string): () => string;
//# sourceMappingURL=pool.d.ts.map