import { type SharedSessionInputRecord } from './session-intents.js';
import type { SharedSessionStoreSnapshot } from './session-broker-helpers.js';
import type { SharedSessionMessage, SharedSessionParticipant, SharedSessionRecord } from './session-types.js';
export declare function sortSessions(records: Iterable<SharedSessionRecord>): SharedSessionRecord[];
export declare function sortMessages(records: Iterable<SharedSessionMessage>): SharedSessionMessage[];
export declare function sortInputs(records: Iterable<SharedSessionInputRecord>): SharedSessionInputRecord[];
export declare function loadSessionBrokerState(snapshot: SharedSessionStoreSnapshot | null | undefined): {
    readonly sessions: Map<string, SharedSessionRecord>;
    readonly messages: Map<string, SharedSessionMessage[]>;
    readonly inputs: Map<string, SharedSessionInputRecord[]>;
};
export declare function createSessionBrokerSnapshot(state: {
    readonly sessions: ReadonlyMap<string, SharedSessionRecord>;
    readonly messages: ReadonlyMap<string, readonly SharedSessionMessage[]>;
    readonly inputs: ReadonlyMap<string, readonly SharedSessionInputRecord[]>;
}, maxPersistedMessages: number): SharedSessionStoreSnapshot;
export declare function upsertSessionParticipant(participants: readonly SharedSessionParticipant[], participant: SharedSessionParticipant): SharedSessionParticipant[];
export declare function countPendingSessionInputs(records: readonly SharedSessionInputRecord[]): number;
//# sourceMappingURL=session-broker-state.d.ts.map