/**
 * Palette variant library.
 *
 * Each variant is a complete colour palette tagged on the four style axes
 * (tone / energy / motion / era — motion is rarely used for palettes).
 * Curated site styles declare ordered palette choices for the picker. Tags
 * stay available as authoring/audit metadata; they no longer drive the Style
 * configurator's option shape.
 *
 * `paletteOverrides` carries per-token hex edits applied on top of the
 * chosen variant; see the merge semantics in `compileSiteThemeFromSelections`.
 */
import type { PaletteVariant, PaletteVariantId } from './types';
export type { HexColor, PaletteColor, PaletteOverrides, PaletteTokenName, PaletteVariant, PaletteVariantId } from './types';
export { PALETTE_TOKEN_NAMES, asPaletteVariantId, definePaletteVariant, hexColorSchema, paletteOverridesSchema, paletteTokenNameSchema, paletteVariantIdSchema, paletteVariantSchema, } from './types';
export declare const paletteVariants: readonly [Readonly<{
    id: PaletteVariantId<"brand-led-cool">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"brand-led-warm">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"brand-led-jewel">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"brand-led-burgundy-gold">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"warm-neutral-clay">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"warm-neutral-cream">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"warm-neutral-forest">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"high-contrast-ink">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"high-contrast-charcoal">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"high-contrast-monochrome">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"soft-natural-sage">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"soft-natural-stone">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>, Readonly<{
    id: PaletteVariantId<"soft-natural-watercolor">;
    name: string;
    description: string;
    tags: Readonly<Partial<Readonly<{
        tone: import("@riverbankcms/blocks").StyleTone;
        energy: import("@riverbankcms/blocks").StyleEnergy;
        motion: import("@riverbankcms/blocks").StyleMotion;
        era: import("@riverbankcms/blocks").StyleEra;
    }>>>;
    mode: "light" | "dark";
    colors: readonly Readonly<{
        name: import("@riverbankcms/blocks").PaletteTokenName;
        hex: string;
    }>[];
}>];
type UnbrandedPaletteVariantId<TValue> = TValue extends infer TRaw & {
    readonly __brand: 'PaletteVariantId';
} ? TRaw extends string ? TRaw : never : never;
export type KnownPaletteVariantId = (typeof paletteVariants)[number]['id'];
export type KnownPaletteVariantIdValue = UnbrandedPaletteVariantId<KnownPaletteVariantId>;
export declare function findPaletteVariant(id: PaletteVariantId): PaletteVariant | undefined;
export declare function isKnownPaletteVariantId(value: string): value is KnownPaletteVariantId;
export type PersistedPaletteVariantIdParseResult = Readonly<{
    kind: 'known';
    id: KnownPaletteVariantId;
}> | Readonly<{
    kind: 'unknown';
    raw: string;
}> | Readonly<{
    kind: 'empty';
}>;
export declare function parsePersistedPaletteVariantId(value: string | null | undefined): PersistedPaletteVariantIdParseResult;
