import { type EpAttributedReply, type EpVerbTarget, type IssuedCaller } from "@cotal-ai/core"; import type { NatsConnection } from "@nats-io/transport-node"; import type { AgentConfig } from "./config.js"; type ManagerConfig = Pick; /** Forget every remembered legacy-rail verdict. For tests that reuse a process across stacks. */ export declare function forgetLegacyRail(): void; /** Runs a call's submission under a goal follow. `prepare` runs the bearer command, opens the * control connection and resolves the manager by the follow's deadline. It publishes nothing, so * its failures surface as their own: a describe that draws no reply reports itself as unanswered, * and a stop, or the deadline before the describe, reports the call as not run. */ type UserManagerFollow = (submit: (signal?: AbortSignal) => Promise, prepare: (signal: AbortSignal, deadline: number) => Promise) => Promise; /** Open a manager-call connection on `token` as a manager call opens it, find the caller a registry * listing rides on it (SPEC 13.15), run `ask` over it, and close it. `exp` is the bearer's expiry, * the listing's horizon at the callout. The issued read shares the manager calls' legacy-rail * memory, so a legacy credential is refused that read once, not once per listing. */ export declare function withUserManagerListing(config: ManagerConfig, token: string, exp: number | undefined, ask: (nc: NatsConnection, listing: IssuedCaller | undefined) => Promise): Promise; /** A control connection never replaces the seat's presence, messages or standing bearer source. */ export declare function invokeUserManager(config: ManagerConfig, bearer: (signal?: AbortSignal) => Promise, command: string, args: Record | undefined, opts?: { target?: EpVerbTarget; deadlineMs?: number; follow?: UserManagerFollow; signal?: AbortSignal; }): Promise; export {}; //# sourceMappingURL=manager-call.d.ts.map