import type { AdapterWriteFailure, CoveringUniwindAdapterInput, ManagedTargetDefinition, PlanThemeOverrideCover, ThemeOverrideCoverPlan, ThemeOverrideSessionState, ThemeOverrideWriterOwnershipToken, TokenPath } from '../override/contracts.js'; import type { Mode, Platform } from '../types.js'; export type ThemeOverrideSessionInvariant = 'writer-owner-mismatch' | 'platform-mismatch' | 'artifact-revision-mismatch' | 'missing-resolved-cover-value'; export declare class ThemeOverrideSessionInvariantError extends Error { readonly invariant: ThemeOverrideSessionInvariant; readonly mode?: Mode; readonly tokenPath?: TokenPath; constructor(invariant: ThemeOverrideSessionInvariant, message: string, mode?: Mode, tokenPath?: TokenPath); } export interface CreateThemeOverrideSessionStateOptions { readonly platform: Platform; readonly writerOwner: ThemeOverrideWriterOwnershipToken; } export type ApplyCoveringThemeOverrideResult = { readonly applied: true; readonly revision: string; readonly session: ThemeOverrideSessionState; readonly plan: ThemeOverrideCoverPlan; } | { readonly applied: false; readonly failure: AdapterWriteFailure; }; export declare function createThemeOverrideWriterOwnershipToken(label?: string): ThemeOverrideWriterOwnershipToken; export declare function createThemeOverrideSessionState({ platform, writerOwner, }: CreateThemeOverrideSessionStateOptions): ThemeOverrideSessionState; export declare function buildStaticManagedTargets(definitions: readonly ManagedTargetDefinition[]): { readonly light: readonly TokenPath[]; readonly dark: readonly TokenPath[]; }; export declare const planThemeOverrideCover: PlanThemeOverrideCover; export declare function applyCoveringThemeOverride(input: CoveringUniwindAdapterInput): ApplyCoveringThemeOverrideResult; //# sourceMappingURL=themeOverrideSession.d.ts.map