import type { SharedSessionInputRecord } from './session-intents.js';
import type { SharedSessionMessage, SharedSessionRecord } from './session-types.js';
export interface SharedSessionGcStore {
    readonly sessions: Map<string, SharedSessionRecord>;
    readonly messages: Map<string, SharedSessionMessage[]>;
    readonly inputs: Map<string, SharedSessionInputRecord[]>;
}
export interface SharedSessionGcOptions {
    readonly idleEmptyMs: number;
    readonly idleLongMs: number;
    readonly deletionRetentionMs: number;
    readonly publishUpdate: (event: string, payload: unknown) => void;
}
export declare function sweepSharedSessions(store: SharedSessionGcStore, options: SharedSessionGcOptions): boolean;
//# sourceMappingURL=session-broker-gc.d.ts.map