import * as plugins from './mcp.plugins.js'; import { AglMcpTools } from './classes.mcptools.js'; export interface IAglMcpServerOptions { controllerPort: number; /** * Read from the environment, never from argv: an argument would be visible in every process * listing on the machine. Absent when the host was not launched by AGL. */ callerCredential?: string; terminateProcess?: (exitCodeArg: number) => void; } export declare const resolveAglMcpCallerCredential: (environmentArg?: NodeJS.ProcessEnv) => string | undefined; export declare const resolveAglMcpControllerPort: (argvArg?: readonly string[], environmentArg?: NodeJS.ProcessEnv) => number; export declare class AglMcpServer { private readonly options; readonly aglTools: AglMcpTools; readonly crossHarnessTools: plugins.CrossHarnessMcpToolRegistrar; readonly systemTools: plugins.SystemMcpTools; private tstaskTools?; private activeServer?; private activeTransport?; private stdinEndHandler?; private stdinEndSource?; private signalHandlers; private closePromise?; private processClosePromise?; private startCalled; private closing; private closed; private transportClosed; private transportCloseNeedsRetry; private readonly terminateProcess; constructor(options: IAglMcpServerOptions); start(transportArg?: plugins.Transport, stdinArg?: NodeJS.ReadableStream): Promise; close(): Promise; private installProcessCloseHandlers; private removeProcessCloseHandlers; private triggerSdkClose; private triggerProcessClose; } export declare const runMcpAglCli: (argvArg?: readonly string[]) => Promise;