import type { OpenClawConfig } from "../config/config.js"; import { type GatewayClientMode, type GatewayClientName } from "../utils/message-channel.js"; export type CallGatewayOptions = { url?: string; token?: string; password?: string; tlsFingerprint?: string; config?: OpenClawConfig; method: string; params?: unknown; expectFinal?: boolean; timeoutMs?: number; clientName?: GatewayClientName; clientDisplayName?: string; clientVersion?: string; platform?: string; mode?: GatewayClientMode; instanceId?: string; minProtocol?: number; maxProtocol?: number; /** * Overrides the config path shown in connection error details. * Does not affect config loading; callers still control auth via opts.token/password/env/config. */ configPath?: string; }; export type GatewayConnectionDetails = { url: string; urlSource: string; bindDetail?: string; remoteFallbackNote?: string; message: string; }; export type ExplicitGatewayAuth = { token?: string; password?: string; }; export declare function resolveExplicitGatewayAuth(opts?: ExplicitGatewayAuth): ExplicitGatewayAuth; export declare function ensureExplicitGatewayAuth(params: { urlOverride?: string; auth: ExplicitGatewayAuth; errorHint: string; configPath?: string; }): void; export declare function buildGatewayConnectionDetails(options?: { config?: OpenClawConfig; url?: string; configPath?: string; }): GatewayConnectionDetails; export declare function callGateway>(opts: CallGatewayOptions): Promise; export declare function randomIdempotencyKey(): `${string}-${string}-${string}-${string}-${string}`;