import { CodexSupervisor } from './classes.codexsupervisor.js'; import { CodexClientAdapter } from './classes.codexclientadapter.js'; import type { ControllerCodexConnectionStore } from './classes.codexconnectionstore.js'; import { type IControllerCodexOrigin, type IControllerCodexProfileDocument } from './classes.codexconnectionmodels.js'; import type { IControllerEvent, IControllerCodexProfile } from '../dist_ts_interfaces/index.js'; export interface ICodexConnectionRuntime { profile: IControllerCodexProfileDocument; supervisor: CodexSupervisor; client: CodexClientAdapter; } /** Routes opaque public conversations through durable origins, independently of current project mappings. */ export declare class CodexConnections { private readonly options; private readonly runtimes; private readonly starting; private readonly origins; private readonly clock; private closed; constructor(options: { store: ControllerCodexConnectionStore; directory: string; executable?: string; defaultProfileId: string; onEvent: (eventArg: IControllerEvent) => void; onUnavailable: (runtimeArg: ICodexConnectionRuntime) => void; }); bind(projectIdArg: string, nativeIdArg: string, originArg: IControllerCodexOrigin): void; origin(nativeIdArg: string, projectIdArg?: string): IControllerCodexOrigin; runtime(profileIdArg?: string): ICodexConnectionRuntime | undefined; all(): ICodexConnectionRuntime[]; isCurrent(runtimeArg: ICodexConnectionRuntime): boolean; clientForSession(nativeIdArg: string): CodexClientAdapter; require(profileIdArg?: string): ICodexConnectionRuntime; profiles(): Promise; connect(profileIdArg: string): Promise; private start; disconnect(profileIdArg: string): Promise; close(): Promise; }