/**
 * Button personality library.
 *
 * Each personality is a complete `ButtonSystem` tagged on the four style axes
 * (tone / energy / motion / era). Curated site styles declare ordered
 * personality choices for the picker. Tags stay available as authoring/audit
 * metadata; they no longer drive the Style configurator's option shape.
 */
import type { ButtonPersonality, ButtonPersonalityId } from './types';
export type { ButtonPersonality, ButtonPersonalityId } from './types';
export { asButtonPersonalityId, buttonPersonalityIdSchema, buttonPersonalitySchema, defineButtonPersonality, } from './types';
export declare const buttonPersonalities: readonly [Readonly<{
    id: ButtonPersonalityId<"soft-pill">;
    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;
    }>>>;
    buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
}>, Readonly<{
    id: ButtonPersonalityId<"confident-chip">;
    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;
    }>>>;
    buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
}>, Readonly<{
    id: ButtonPersonalityId<"editorial-link">;
    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;
    }>>>;
    buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
}>, Readonly<{
    id: ButtonPersonalityId<"pebble">;
    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;
    }>>>;
    buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
}>, Readonly<{
    id: ButtonPersonalityId<"ink-stamp">;
    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;
    }>>>;
    buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
}>, Readonly<{
    id: ButtonPersonalityId<"brushed-wash">;
    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;
    }>>>;
    buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
}>, Readonly<{
    id: ButtonPersonalityId<"showtime-pill">;
    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;
    }>>>;
    buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
}>];
type UnbrandedButtonPersonalityId<TValue> = TValue extends infer TRaw & {
    readonly __brand: 'ButtonPersonalityId';
} ? TRaw extends string ? TRaw : never : never;
export type KnownButtonPersonalityId = (typeof buttonPersonalities)[number]['id'];
export type KnownButtonPersonalityIdValue = UnbrandedButtonPersonalityId<KnownButtonPersonalityId>;
export declare function findButtonPersonality(id: ButtonPersonalityId): ButtonPersonality | undefined;
export declare function isKnownButtonPersonalityId(value: string): value is KnownButtonPersonalityId;
export type PersistedButtonPersonalityIdParseResult = Readonly<{
    kind: 'known';
    id: KnownButtonPersonalityId;
}> | Readonly<{
    kind: 'unknown';
    raw: string;
}> | Readonly<{
    kind: 'empty';
}>;
export declare function parsePersistedButtonPersonalityId(value: string | null | undefined): PersistedButtonPersonalityIdParseResult;
