import { Context } from "@deepseek-ai/cordis"; //#region src/schemas/loopLaunchers.d.ts /** Provider-owned Cordis service for session-scoped recurring-loop launchers. */ export declare const DOOM_LOOP_LAUNCHERS_SERVICE = "doom/loop-launchers"; export interface LoopLaunchRequest { readonly instanceId: string; readonly signal: AbortSignal; } export interface StoppableLoop { readonly instanceId: string; readonly label?: string; readonly detail?: string; stop(reason?: string): void | Promise; } export interface LoopLauncherSummary { readonly id: string; readonly source: string; readonly label: string; readonly description?: string; } export interface LoopInstanceSnapshot { readonly instanceId: string; readonly launcherId: string; readonly launcherLabel: string; readonly label?: string; readonly detail?: string; readonly state: 'starting' | 'running' | 'stopping'; readonly startedAt?: string; } export interface LoopLauncherDefinition extends LoopLauncherSummary { launch(request: LoopLaunchRequest): Promise; } export interface LoopLauncherRegistration { readonly id: string; readonly generation: string; dispose(reason?: string): Promise; } /** Direct registrar/control seam owned and provided by doompi-loop. */ export interface DoomLoopLaunchersService { readonly generation: string; register(definition: LoopLauncherDefinition): LoopLauncherRegistration; listLaunchers(): readonly LoopLauncherSummary[]; listInstances(): readonly LoopInstanceSnapshot[]; subscribe(listener: () => void): () => void; launch(launcherId: string, options?: { instanceId?: string; }): Promise; stop(instanceId: string, reason?: string): Promise; stopAll(reason?: string): Promise; dispose(reason?: string): Promise; } declare module '@deepseek-ai/cordis' { interface Context { 'doom/loop-launchers': DoomLoopLaunchersService; } } export declare function readDoomLoopLaunchers(context: Context): DoomLoopLaunchersService | undefined; export declare function requireDoomLoopLaunchers(context: Context): DoomLoopLaunchersService; //#endregion //# sourceMappingURL=loopLaunchers.d.cts.map