import type { ConnectConnectionStatus, ConnectionProvider, ProviderConfigKeyMap } from "./connection.js"; export interface SelfHostConnectOptions { provider: ConnectionProvider; providerConfigKeys: ProviderConfigKeyMap; defaultPollIntervalMs?: number; defaultTimeoutMs?: number; } export interface StartSelfHostConnectOptions { endUserId: string; connectionId?: string; metadata?: Record; } export interface SelfHostConnectResult { relayfileProvider: string; providerConfigKey: string; connectLink: string | null; sessionToken: string | null; expiresAt: string | null; connectionId: string; } export interface WaitForSelfHostConnectionOptions { connectionId: string; pollIntervalMs?: number; timeoutMs?: number; signal?: AbortSignal; onPoll?: (elapsedMs: number, status?: ConnectConnectionStatus) => void; } export declare class SelfHostConnect { private readonly provider; private readonly providerConfigKeys; private readonly defaultPollIntervalMs; private readonly defaultTimeoutMs; constructor(options: SelfHostConnectOptions); startConnect(relayfileProvider: string, options: StartSelfHostConnectOptions): Promise; waitForConnection(relayfileProvider: string, options: WaitForSelfHostConnectionOptions): Promise; private resolveProviderConfigKey; private requireConnectProvider; }