import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { IAutomation, AutomationRunTrigger } from "./automation.js"; export declare const IAutomationRunner: import("@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation").ServiceIdentifier; /** * Runs a single automation: claim the per-automation slot, record the run, * drive the chat session, report success/failure to {@link IAutomationService}. * Implemented in the sessions layer via `ISessionsManagementService`. */ export interface IAutomationRunner { readonly _serviceBrand: undefined; /** * Runs `automation` once (skips if another run for it is already in flight). * Never throws. Failures are recorded on the run row in {@link IAutomationService}. */ runOnce(automation: IAutomation, trigger: AutomationRunTrigger, leaderWindowId: number, token?: CancellationToken): Promise; }