/**
 * Inbound Debounce - Message debouncing for inbound traffic
 */
export interface InboundDebounceOptions<T> {
    debounceMs: number;
    buildKey: (item: T) => string | null | undefined;
    shouldDebounce?: (item: T) => boolean;
    resolveDebounceMs?: (item: T) => number | undefined;
    onFlush: (items: T[]) => Promise<void>;
    onError?: (err: unknown, items: T[]) => void;
}
export declare function createInboundDebouncer<T>(options: InboundDebounceOptions<T>): {
    enqueue: (item: T) => Promise<void>;
    flushKey: (key: string) => Promise<void>;
    flushAll: () => Promise<void>;
    getBufferCount: () => number;
};
export declare function hasControlCommand(text: string): boolean;
