import type { Config } from "../config.js"; import { type FileControlAuthorization } from "../control-authorization.js"; import { type LaneExecutionBrokerRequest, type LaneExecutionSnapshot } from "../lane-execution-broker.js"; export declare const LANE_EXECUTION_CLIENT_TIMEOUT_MS = 5000; export type LaneExecutionClientFailureKind = "unavailable" | "rejected" | "invalid-response"; export type LaneExecutionClientResult = { ok: true; execution: LaneExecutionSnapshot; } | { ok: false; kind: LaneExecutionClientFailureKind; /** HTTP status when a daemon answered; null for transport/auth setup failure. */ status: number | null; message: string; }; export interface LaneExecutionClient { request(request: LaneExecutionBrokerRequest): Promise; } export interface LaneExecutionClientDeps { fetch?: typeof fetch; authorization?: Pick; timeoutMs?: number; } /** Opaque 128-bit broker execution id; it carries no task/lane meaning. */ export declare function createLaneExecutionId(entropy?: Uint8Array): string; export declare function createLaneExecutionClient(cfg: Pick, deps?: LaneExecutionClientDeps): LaneExecutionClient;