import { type AutoUpdaterHandle } from './auto-updater'; import { ChildProcessManager } from './child-process-manager'; import { ProjectAgent } from './project-agent'; import type { AgentChatMode, AutoUpdateConfig, ProjectRegistration, ReleaseChannel } from './types'; import { extractTokenId } from './utils/token-utils'; export { extractTokenId }; export interface RunnerOptions { token?: string; apiUrl?: string; pollInterval?: number; heartbeatInterval?: number; verbose?: boolean; autoUpdate?: boolean; updateChannel?: ReleaseChannel; /** * Filter to a single project. Format: "tenantCode/projectCode" * When set, only the matching project is started. * Used by DockerSupervisor to spawn one container per project. */ project?: string; } export declare function startProjectAgent(project: ProjectRegistration, agentId: string, options: { pollInterval: number; heartbeatInterval: number; agentChatMode?: AgentChatMode; defaultProjectDir?: string; }): { stop: () => void; client: import('./api-client').ApiClient; agent: ProjectAgent; }; export type ShutdownTarget = { kind: 'agents'; agents: { stop: () => void | Promise; }[]; } | { kind: 'processManager'; processManager: ChildProcessManager; }; export declare function setupShutdownHandlers(target: ShutdownTarget, updater?: AutoUpdaterHandle): void; export declare function resolveAutoUpdateConfig(options: RunnerOptions, config?: { autoUpdate?: AutoUpdateConfig; } | null): AutoUpdateConfig; export declare function startAgent(options: RunnerOptions): Promise; //# sourceMappingURL=agent-runner.d.ts.map