import type { ServiceManager } from "./service-plan.js"; export declare const USER_SCHEDULE_BLOCK_BEGIN = "# BEGIN OMS USER SCHEDULE"; export declare const USER_SCHEDULE_BLOCK_END = "# END OMS USER SCHEDULE"; export type UserScheduleJobId = "github" | "watchdog"; export type UserScheduleJobMode = "poll" | "recovery"; export interface UserScheduleJob { readonly id: UserScheduleJobId; readonly mode: UserScheduleJobMode; readonly interval_seconds: number; readonly argv: readonly string[]; } export interface UserSchedulePlan { readonly schema_version: 2; readonly manager: ServiceManager; readonly executable_path: string; readonly environment_path: string; readonly state_root: string; readonly workspace_root: string; readonly repository: string; readonly github_poll_seconds: number; readonly jobs: readonly UserScheduleJob[]; } export interface UserScheduleArtifact { readonly relative_path: string; readonly bytes: string; readonly sha256: string; } export interface GeneratedUserSchedule { readonly plan: UserSchedulePlan; readonly digest: string; readonly artifacts: readonly UserScheduleArtifact[]; } export declare function generateUserSchedule(options: { readonly manager: ServiceManager; readonly executablePath: string; readonly environmentPath: string; readonly stateRoot: string; readonly workspaceRoot: string; readonly repository: string; readonly githubPollSeconds?: number; readonly packageRoot: string; }): GeneratedUserSchedule; export declare function assertGeneratedUserSchedule(value: unknown): asserts value is GeneratedUserSchedule; export declare function userSchedulePackageRoot(generated: GeneratedUserSchedule): string; export declare function userScheduleArtifactBaseName(id: UserScheduleJobId): string; export declare function userScheduleLaunchdLabel(id: UserScheduleJobId): string; export declare function normalizeUserScheduleEnvironmentPath(value: string): string;