import type { ActionRegistry } from "../core/action-registry.js"; import type { FabricActionPolicyHooks } from "../core/action-policy-hooks.js"; import type { FabricConfig } from "../config.js"; import type { FabricInvocationContext } from "../protocol.js"; import type { JevLaunch, JevRunInfo } from "./types.js"; import { type JevObservationHost } from "./observation.js"; export interface JevManagerOptions { registry: ActionRegistry; config: FabricConfig; observationHost?: JevObservationHost | undefined; /** Host-only target snapshot hook, before any guest execution. */ onRunStarted?(id: string): void; authorize?(ref: string, parentToolCallId: string): Promise; /** Extension action policy hooks; consulted only when approvals.policyHooks is true. */ actionPolicyHooks?: FabricActionPolicyHooks | undefined; } export declare class JevProgramManager { #private; readonly options: JevManagerOptions; constructor(options: JevManagerOptions); usesDecisions(id: string): boolean; inferenceLimits(id: string): { evaluations: number; tokens: number; } | undefined; list(): { observation?: import("./types.js").JevObservationStats; id: string; name: string; state: import("./types.js").JevRunState; background: boolean; startedAt: number; evaluations: number; toolCalls: number; }[]; status(id: string, after?: number): JevRunInfo; wait(id: string, signal?: AbortSignal): Promise; /** Alias for wait. */ join(id: string, signal?: AbortSignal): Promise; stop(id: string): Promise; advise(id: string, eventId: string, message: string): import("./types.js").JevAdviceResult; launch(request: JevLaunch, context: FabricInvocationContext, background: boolean): Promise; stopAll(): void; close(): Promise; } //# sourceMappingURL=manager.d.ts.map