import type { CompactionLifecycleState } from './compaction/index.js'; import { type TransitionResult as CompactionTransitionResult } from './compaction/index.js'; import type { McpServerState } from './mcp/index.js'; import type { PluginLifecycleState } from './plugins/index.js'; import { type TransitionResult as PluginTransitionResult } from './plugins/index.js'; import type { TaskLifecycleState } from './store/domains/tasks.js'; type RuntimeLifecycleState = TaskLifecycleState | PluginLifecycleState | McpServerState | CompactionLifecycleState; export type RuntimeTransitionResult = (PluginTransitionResult & { readonly success?: never; readonly previous?: never; readonly next?: never; readonly state?: never; }) | ({ ok: true; success: true; previous: McpServerState; next: McpServerState; from: McpServerState; to: McpServerState; readonly state?: never; } | { ok: false; success: false; reason: string; readonly previous?: never; readonly next?: never; readonly from?: never; readonly to?: never; readonly state?: never; }) | (CompactionTransitionResult & { readonly success?: never; readonly previous?: never; readonly next?: never; readonly from?: never; readonly to?: never; }) | { ok: true; from: TaskLifecycleState; to: TaskLifecycleState; readonly success?: never; readonly previous?: never; readonly next?: never; readonly state?: never; } | { ok: false; reason: string; readonly success?: never; readonly previous?: never; readonly next?: never; readonly from?: never; readonly to?: never; readonly state?: never; }; export declare function canTransition(from: McpServerState, to: McpServerState): boolean; export declare function canTransition(from: PluginLifecycleState, to: PluginLifecycleState): boolean; export declare function canTransition(from: TaskLifecycleState, to: TaskLifecycleState): boolean; export declare function canTransition(from: CompactionLifecycleState, to: CompactionLifecycleState): boolean; export declare function applyTransition(from: RuntimeLifecycleState, to: RuntimeLifecycleState): RuntimeTransitionResult; export declare function reachableFrom(from: McpServerState): ReadonlySet; export declare function reachableFrom(from: CompactionLifecycleState): ReadonlySet; export declare function reachableFrom(from: TaskLifecycleState): ReadonlySet; export declare function isOperational(state: PluginLifecycleState | McpServerState): boolean; export declare function isReloadable(state: PluginLifecycleState): boolean; export declare function isTerminal(state: TaskLifecycleState | PluginLifecycleState | McpServerState | CompactionLifecycleState): boolean; export {}; //# sourceMappingURL=lifecycle-facade.d.ts.map