import type { PieThemeSchemeParticipation } from "./token-registry-types.js"; import type { PieColorSchemeDescriptor, PieColorSchemePreview, PieThemeDiagnostic, ThemeTokenName, ThemeVariables } from "./theme-types.js"; type BuiltInColorSchemeDefinition = Readonly<{ id: string; name: string; description?: string; variables: Readonly; }>; /** * The CSS `color-scheme` keyword a palette implies, or `null` when the token * values cannot decide it. * * A scheme replaces every colour, but nothing in CSS infers polarity from custom * properties, so UA-styled controls -- `input`, `select`, scrollbars, native form * widgets -- keep whatever polarity the host's theme declared. A dark * accommodation on a light host therefore renders their text in the light-mode * system colour: measured at roughly 1.1:1 against `yellow-on-blue`. * * Decided by whether black or white contrasts better against the resolved * background, which is the same test that picks a legible foreground. `null` for * a background `parseOpaqueColor` rejects -- a translucent value or a `var()` * reference out to a host property -- because polarity then depends on the * host's backdrop and is the host's to declare. */ export declare function resolvePaletteColorScheme(variables: Readonly): "light" | "dark" | null; export declare function diagnoseThemeContrast(variables: Readonly, schemeId?: string, relevantTokens?: ReadonlySet): readonly PieThemeDiagnostic[]; export declare function getBaseThemeVariables(baseTheme: "light" | "dark"): Readonly; export declare function listBuiltInColorSchemeDefinitions(): readonly BuiltInColorSchemeDefinition[]; export declare function getBuiltInColorSchemeDefinition(id: string): BuiltInColorSchemeDefinition | undefined; export declare function getDefaultColorSchemeDescriptor(): PieColorSchemeDescriptor; export declare function createPieColorSchemePreview(variables: Readonly): PieColorSchemePreview; export declare function getSchemeParticipation(token: string): PieThemeSchemeParticipation | undefined; export declare function getRequiredSchemeTokens(): readonly ThemeTokenName[]; export declare function createBuiltInColorSchemeDescriptor(definition: BuiltInColorSchemeDefinition): PieColorSchemeDescriptor; /** Build-time invariant check; browser entries only read the frozen definitions. */ export declare function assertCanonicalThemeDefinitions(): void; export {};