import type { CandidateEvaluationRequest, CandidateEvaluationResult, ExpandedThemeOverride, ExpandThemeOverrideResult, OverrideDiagnostic, ParseThemeOverride, ParsedThemeOverride, Platform, Preset, InputDefinition, InputId, } from '@cdx-ui/styles'; export type { BaseInputDraft, CandidateEvaluationRequest, CandidateEvaluationResult, ConcreteTokenValue, DraftProvenance, EditorDraftField, ExpandedThemeOverride, ExpandThemeOverrideResult, InvariantSelection, InputDefinition, InputDraftField, InputDraftRelationship, InputId, InputStrategy, LinkedSelection, LiteralValue, Mode, ModeSpecificOverride, ModeTokenState, OverrideArtifactRevision, OverrideDiagnostic, OverrideDiagnosticCode, OverrideDiagnosticPhase, OverrideDiagnosticSeverity, OverrideLayer, ParseThemeOverride, ParseThemeOverrideResult, ParsedSection, ParsedThemeOverride, Platform, PreservedUnknownFields, Preset, PrimitiveTokenPath, SelectedValue, SelectionId, SelectionValueShape, SerializeThemeOverrideDraft, SerializeThemeOverrideDraftResult, ThemeInputs, ThemeOverride, ThemeOverrideEditorDraft, ThemeSelections, TokenOverride, TokenOverrides, TokenPath, TokenProvenance, TokenReference, } from '@cdx-ui/styles'; export interface EditorDisplayDefaults { readonly listInputs: () => readonly InputDefinition[]; readonly getDefaultInput: (definition: InputDefinition, preset: Preset) => string | undefined; readonly deriveInput: ( definition: InputDefinition, values: Readonly>>, preset: Preset, ) => string | undefined; } export interface PreviewApplySuccess { readonly applied: true; readonly session: TSession; } export interface PreviewApplyFailure { readonly applied: false; readonly diagnostics: readonly OverrideDiagnostic[]; } export interface ThemeOverrideEditorRuntime { readonly parse: ParseThemeOverride; readonly expand: (parsed: ParsedThemeOverride, platform: Platform) => ExpandThemeOverrideResult; readonly evaluateCandidate: (request: CandidateEvaluationRequest) => CandidateEvaluationResult; readonly applyPreview: ( expanded: ExpandedThemeOverride, session: TSession, ) => PreviewApplySuccess | PreviewApplyFailure; }