import { WebSocketServer } from 'ws'; import type { Database } from 'better-sqlite3'; import type { IntentFrame, ResultFrame } from './types.js'; export declare class RelayError extends Error { code: 'OFFLINE' | 'BAD_REQUEST' | 'DELIVERY_FAILED' | 'TIMEOUT' | 'RATE_LIMITED' | 'FORBIDDEN'; constructor(code: RelayError['code'], message: string); } export declare function createWebSocketServer(db: Database): WebSocketServer; export declare function getConnectedCount(): number; export declare function isAgentConnected(beamId: string): boolean; export declare function getConnectedBeamIds(): string[]; export declare function relayIntentFromHttp(db: Database, frame: IntentFrame, timeoutMs?: number, options?: { sourceDirectory?: string; hopCount?: number; }): Promise; export declare function canActOnBehalf(db: Database, connectedBeamId: string, claimedFromBeamId: string, intentType: string): boolean;