import type { PeerManager } from "./peer-manager.js";
export type SessionSyncOptions = {
    peerManager: PeerManager;
    log: {
        info: (msg: string) => void;
        warn: (msg: string) => void;
    };
};
/**
 * On-demand session sync across peer gateways.
 * When a session key is not found locally, queries peers.
 */
export declare class SessionSync {
    private opts;
    constructor(opts: SessionSyncOptions);
    /** Fetch a session preview from any peer that has it. */
    fetchSessionFromPeers(sessionKey: string): Promise<{
        found: boolean;
        gatewayId?: string;
        preview?: unknown;
    }>;
    /** List sessions across all peers. */
    listSessionsFromPeers(): Promise<Array<{
        gatewayId: string;
        sessions: unknown[];
    }>>;
}
