import type { RelayWebhookEvent } from "@relaymessenger/sdk"; export type TerminalWatchStatus = "connecting" | "ready" | "disconnected" | "unavailable" | "gap"; export type TerminalRuntimeOwnership = "none" | "external" | "unknown"; /** The read-only view Relay offers. Never pass off the reading-and-taking connection as this. */ export interface TerminalObserver { readonly semantics: "observational-no-ack"; run(input: { signal: AbortSignal; onStatus(status: TerminalWatchStatus): void; onEvent(event: RelayWebhookEvent): void; }): Promise; } export interface TerminalWatchInput { observer?: TerminalObserver; runtimeOwnership: TerminalRuntimeOwnership; signal: AbortSignal; secrets?: readonly string[]; onStatus(status: TerminalWatchStatus): void; onLine(line: string): void; } /** Single-line terminal output: never interpret event/metadata escape sequences or token values. */ export declare function terminalText(value: unknown, secrets?: readonly string[], limit?: number): string; export declare function terminalEventLine(event: RelayWebhookEvent, secrets?: readonly string[]): string; /** Watch only. Nothing here creates an SDK client, a route, a timer, a reply to Relay, or any control over a runtime. */ export declare function runTerminalWatch(input: TerminalWatchInput): Promise; /** Uses the SDK's watch-only mode. It never falls back to the connection that takes events. */ export declare function sdkTerminalObserver(client: Pick): TerminalObserver; //# sourceMappingURL=terminal-watch.d.ts.map