/** Journal provenance only; process identity is not namespace lifetime evidence. */ export declare const ROUTE_OWNERSHIP_EPOCH: `${string}-${string}-${string}-${string}-${string}`; export type RouteMutation = { readonly op: 'set'; readonly path: string[]; readonly value: unknown; } | { readonly op: 'unset'; readonly path: string[]; }; export interface RouteSettings { describe(options?: { redactSecrets?: boolean; }): Array<{ ns: string; value: unknown; revision: number; user?: unknown; base?: unknown; secrets?: readonly { path: readonly string[]; set: boolean; }[]; }>; mutate(namespace: string, operations: readonly RouteMutation[], expectedRevision?: number): Promise; } export declare class TemporaryRouteConflictError extends Error { readonly code: 'TEMPORARY_ROUTE_OWNERSHIP_CONFLICT' | 'TEMPORARY_ROUTE_LEGACY_CONFLICT' | 'TEMPORARY_ROUTE_INVALID_BACKUP'; constructor(code?: 'TEMPORARY_ROUTE_OWNERSHIP_CONFLICT' | 'TEMPORARY_ROUTE_LEGACY_CONFLICT' | 'TEMPORARY_ROUTE_INVALID_BACKUP'); } export declare function object(value: unknown): Record | undefined; export declare function profileAt(value: unknown): Record | undefined; /** Bounded comparison; never stringify or copy unknown model extras or headers. */ export declare function equalJson(a: unknown, b: unknown, depth?: number): boolean; interface Leaves { readonly api?: string; readonly models?: readonly Record[]; } export interface RouteBackup { readonly version: 2; readonly providerExisted: boolean; readonly preimage: Leaves; readonly postimage: Leaves; readonly ownedHeaders: Readonly>; readonly phase: 'overlay' | 'restoring'; readonly sourceRevision: number; readonly sourceEpoch: string; readonly target?: Leaves; readonly removeProfile?: boolean; } export declare function leavesOf(profile: Record | undefined): Leaves; export declare function encodeBackup(backup: RouteBackup): string; export declare function readBackup(value: unknown): RouteBackup | undefined; export declare function settingsSnapshot(settings: RouteSettings): { current: Record | undefined; raw: Record | undefined; base: Record | undefined; hasSecrets: boolean; hasOwnedSecrets: boolean; routeRevision: number; markerRevision: number; backup: RouteBackup | undefined; }; export declare function assertOwned(current: Record | undefined, backup: RouteBackup): 'preimage' | 'postimage' | 'target'; export declare function leafOperations(current: Record | undefined, target: Leaves): RouteMutation[]; export declare function ownedHeaderRemoval(current: Record | undefined, backup: RouteBackup): RouteMutation[]; /** Raw shape, not schema-resolved defaults, proves whole-profile ownership. */ export declare function wholeProfileOwned(snapshot: ReturnType, backup: RouteBackup): boolean; export {}; //# sourceMappingURL=route-ownership.d.ts.map