import { type ButtonPersonalityId, type KnownButtonPersonalityId } from '../buttons/personalities';
import { type KnownPaletteVariantId, type PaletteVariantId } from '../palette/variants';
import type { Theme } from '../schema';
import { type CuratedChoice } from './curatedChoices';
import { type AppearancePresetId, type DesignSystemTemplate, type NonEmptyReadonlyArray, type SiteStyleId } from './types';
export declare const curatedSiteStyleIdValues: readonly ["site-style:calm-studio", "site-style:clear-professional", "site-style:warm-editorial", "site-style:bright-community", "site-style:quiet-luxury", "site-style:practical-services", "site-style:modern-wellness", "site-style:bold-launch", "site-style:south-west-twerk-school"];
export type CuratedSiteStyleIdValue = typeof curatedSiteStyleIdValues[number];
type CuratedSiteStyleHeroOverrides = Readonly<{
    typography?: NonNullable<NonNullable<Theme['hero']>['typography']>;
}>;
type CuratedSiteStyleBodyTextOverrides = Readonly<{
    intro?: NonNullable<NonNullable<Theme['bodyText']>['intro']>;
}>;
/**
 * Site-style-specific Theme overrides are applied after token recipes,
 * button personality, and palette variant selection have compiled the base
 * Theme. Values here intentionally win; palette and button selections remain
 * independent Style configurator choices.
 */
export type CuratedSiteStyleThemeOverrides = Readonly<{
    typography?: Theme['typography'];
    hero?: CuratedSiteStyleHeroOverrides;
    bodyText?: CuratedSiteStyleBodyTextOverrides;
}>;
export type ButtonPersonalityChoice = CuratedChoice<KnownButtonPersonalityId>;
export type PaletteVariantChoice = CuratedChoice<KnownPaletteVariantId>;
export type CuratedSiteStyle = Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>;
export declare function defaultButtonPersonalityForSiteStyle(siteStyle: CuratedSiteStyle): ButtonPersonalityId;
export declare function defaultPaletteVariantForSiteStyle(siteStyle: CuratedSiteStyle): PaletteVariantId;
/**
 * V1 generated site styles are curated product presets, not AI-authored design
 * systems. Generators choose one of these bounded entries, then downstream
 * resolve/compile steps translate it to Theme and block runtime fields.
 */
export declare const curatedSiteStyles: readonly [Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>, Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>, Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>, Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>, Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>, Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>, Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>, Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>, Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>];
export declare const curatedSiteStylesById: Map<SiteStyleId, Readonly<{
    id: SiteStyleId;
    name: string;
    description: string;
    generationBrief: string;
    selectionKeywords: readonly string[];
    template: DesignSystemTemplate;
    themeOverrides?: CuratedSiteStyleThemeOverrides;
    recommendedAppearancePresetIds: readonly AppearancePresetId[];
    /** Authored picker choices. First item is the default/fallback. */
    buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
    /** Authored picker choices. First item is the default/fallback. */
    paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
}>>;
export declare function getCuratedSiteStyle(id: SiteStyleId): CuratedSiteStyle | null;
export {};
