//#region src/infra/device-pairing.d.ts type DevicePairingPendingRequest = { requestId: string; deviceId: string; publicKey: string; displayName?: string; platform?: string; deviceFamily?: string; clientId?: string; clientMode?: string; role?: string; roles?: string[]; scopes?: string[]; remoteIp?: string; silent?: boolean; isRepair?: boolean; ts: number; }; type DeviceAuthToken = { token: string; role: string; scopes: string[]; createdAtMs: number; rotatedAtMs?: number; revokedAtMs?: number; lastUsedAtMs?: number; }; type PairedDevice = { deviceId: string; publicKey: string; displayName?: string; platform?: string; deviceFamily?: string; clientId?: string; clientMode?: string; role?: string; roles?: string[]; scopes?: string[]; approvedScopes?: string[]; remoteIp?: string; tokens?: Record; createdAtMs: number; approvedAtMs: number; }; type DevicePairingList = { pending: DevicePairingPendingRequest[]; paired: PairedDevice[]; }; declare function listDevicePairing(baseDir?: string): Promise; declare function approveDevicePairing(requestId: string, baseDir?: string): Promise<{ requestId: string; device: PairedDevice; } | null>; declare function rejectDevicePairing(requestId: string, baseDir?: string): Promise<{ requestId: string; deviceId: string; } | null>; //#endregion //#region src/shared/gateway-bind-url.d.ts type GatewayBindUrlResult = { url: string; source: "gateway.bind=custom" | "gateway.bind=tailnet" | "gateway.bind=lan"; } | { error: string; } | null; declare function resolveGatewayBindUrl(params: { bind?: string; customBindHost?: string; scheme: "ws" | "wss"; port: number; pickTailnetHost: () => string | null; pickLanHost: () => string | null; }): GatewayBindUrlResult; //#endregion //#region src/shared/tailscale-status.d.ts type TailscaleStatusCommandResult = { code: number | null; stdout: string; }; type TailscaleStatusCommandRunner = (argv: string[], opts: { timeoutMs: number; }) => Promise; declare function resolveTailnetHostWithRunner(runCommandWithTimeout?: TailscaleStatusCommandRunner): Promise; //#endregion //#region src/plugin-sdk/run-command.d.ts type PluginCommandRunResult = { code: number; stdout: string; stderr: string; }; type PluginCommandRunOptions = { argv: string[]; timeoutMs: number; cwd?: string; env?: NodeJS.ProcessEnv; }; declare function runPluginCommandWithTimeout(options: PluginCommandRunOptions): Promise; //#endregion export { listDevicePairing as a, approveDevicePairing as i, resolveTailnetHostWithRunner as n, rejectDevicePairing as o, resolveGatewayBindUrl as r, runPluginCommandWithTimeout as t };