export declare const SERVER_SETUP_SCHEMA_VERSION = 1; export declare const SERVER_SETUP_STEPS: readonly ["bootstrap_administrator", "sandbox_provider_selected", "sandbox_provider_validated", "base_image_selected", "base_image_build_requested", "base_image_ready", "default_agent_created", "registration_policy_selected", "server_setup_complete"]; export type ServerSetupStep = (typeof SERVER_SETUP_STEPS)[number]; export type ServerSetupStepState = "pending" | "in_progress" | "complete" | "failed"; export declare const OPERATIONAL_SERVER_SETUP_STEPS: readonly ["sandbox_provider_selected", "sandbox_provider_validated", "base_image_selected", "base_image_build_requested", "base_image_ready"]; export type OperationalServerSetupStep = (typeof OPERATIONAL_SERVER_SETUP_STEPS)[number]; export declare const USER_ONBOARDING_STEPS: readonly ["avatar", "desktop_notifications"]; export type UserOnboardingStep = (typeof USER_ONBOARDING_STEPS)[number]; export type UserOnboardingStepState = "pending" | "complete" | "skipped"; export type SafeSetupMetadataValue = string | number | boolean | null; export type SafeSetupMetadata = Readonly>; export type SetupBaseImageBuildMode = "build" | "download_and_build"; export type SetupBaseImageSource = "builtin" | "custom"; export interface SetupStepStatus { state: State; metadata?: SafeSetupMetadata; lastError?: string; startedAt?: string; completedAt?: string; updatedAt: string; } export type RegistrationAvailability = "bootstrap" | "open" | "closed"; export type PublicServerSetupPhase = "bootstrap_required" | "configuration_required" | "complete"; export interface PublicServerSetupStatus { schemaVersion: number; phase: PublicServerSetupPhase; registration: RegistrationAvailability; } export type OnboardingRoute = { scope: "profile"; step: "profile"; } | { scope: "server"; step: ServerSetupStep; } | { scope: "waiting"; step: "server_setup"; } | { scope: "user"; step: UserOnboardingStep; } | { scope: "complete"; }; export interface CombinedOnboardingStatus { server: { schemaVersion: number; complete: boolean; canManage: boolean; registration: RegistrationAvailability; steps: Record>; }; user: { profile: "pending" | "complete"; complete: boolean; steps: Record>; }; route: OnboardingRoute; complete: boolean; } export interface SetupSyncHint { sequence: string; chats: []; areas: ["setup"] | ["user-onboarding"]; } export type SetupErrorCode = "invalid" | "forbidden" | "not_found" | "conflict"; export declare class SetupError extends Error { readonly code: SetupErrorCode; constructor(code: SetupErrorCode, message: string); } //# sourceMappingURL=types.d.ts.map