import { FileEvent, OverflowPolicy, PathSpec } from '../../types.ts';
import type { EventQueue } from './base.ts';
export declare function signal(): {
    promise: Promise<void>;
    wake: () => void;
};
export declare class RAMEventQueue implements EventQueue {
    private readonly roots;
    private readonly label;
    private readonly maxPending;
    private readonly onOverflow;
    private readonly changes;
    private overflowed;
    private closed;
    private ready;
    constructor(roots: PathSpec | readonly PathSpec[], options?: {
        maxPending?: number;
        onOverflow?: OverflowPolicy;
    });
    private merge;
    private absorbSource;
    push(change: FileEvent): Promise<void>;
    private applyOverflow;
    pop(): Promise<FileEvent>;
    pending(): Promise<number>;
    clear(): Promise<void>;
    close(): Promise<void>;
}
//# sourceMappingURL=ram.d.ts.map