import type { SymiConfig } from "../config/config.js";
export declare function resolveInboundDebounceMs(params: {
    cfg: SymiConfig;
    channel: string;
    overrideMs?: number;
}): number;
export declare function createInboundDebouncer<T>(params: {
    debounceMs: number;
    buildKey: (item: T) => string | null | undefined;
    shouldDebounce?: (item: T) => boolean;
    onFlush: (items: T[]) => Promise<void>;
    onError?: (err: unknown, items: T[]) => void;
}): {
    enqueue: (item: T) => Promise<void>;
    flushKey: (key: string) => Promise<void>;
};
