import type { PeerConnectionState, PeerConnectionStatus } from "../types.js";
export interface PeerUiSnapshot {
    connectionState: PeerConnectionState;
    connectionMessage?: string;
    draft: string;
    isCancelling?: boolean;
    isCrdtResyncing?: boolean;
}
export declare class PeerUiState {
    private connectionState;
    private connectionMessage;
    private draft;
    private isCancelling;
    private isCrdtResyncing;
    private readonly listeners;
    subscribe(listener: (snapshot: PeerUiSnapshot) => void): () => void;
    setConnectionState(connectionState: PeerConnectionState): void;
    setConnectionStatus(status: PeerConnectionStatus): void;
    setDraft(draft: string): void;
    setCancelling(isCancelling: boolean): void;
    setCrdtResyncing(isCrdtResyncing: boolean): void;
    getSnapshot(): PeerUiSnapshot;
    private emit;
}
//# sourceMappingURL=peer-ui-state.d.ts.map