export interface CompactGameState {
    game: string;
    board: string;
    score: number;
    status: string;
    turn: 'player' | 'claude' | null;
    validMoves: string[];
    message?: string;
}
export interface MoveResult {
    success: boolean;
    error?: string;
    state?: CompactGameState;
}
export interface GameBridge {
    getGameState(): CompactGameState | null;
    makeMove(move: string): MoveResult;
    getAvailableGames(): {
        id: string;
        name: string;
        supportsExternalMoves: boolean;
    }[];
    getCurrentGame(): string | null;
    waitForTurn(timeoutMs: number): Promise<CompactGameState | null>;
    selectGame(gameId: string): {
        success: boolean;
        error?: string;
        state?: CompactGameState;
    };
}
export declare class IpcServer {
    private bridge;
    private server;
    private client;
    private portFile;
    private authToken;
    private authenticated;
    private onClientConnect?;
    private onClientDisconnect?;
    constructor(bridge: GameBridge, callbacks?: {
        onConnect?: () => void;
        onDisconnect?: () => void;
    });
    start(): Promise<void>;
    private cleanStalePortFiles;
    stop(): void;
    get hasClient(): boolean;
    private handleConnection;
    private handleMessage;
}
