/**
 * @module _shared/visual-styles
 *
 * Eight named visual identities used to seed `DESIGN.md` when scaffolding a
 * scene project. The structured data below distils the rules that
 * Hyperframes' `hyperframes` skill encodes in
 * `skills/hyperframes/visual-styles.md` (Apache 2.0). VibeFrame vendors the
 * data — not the prose — so a project scaffolded without an active agent
 * still gets a credible DESIGN.md as a starting point.
 *
 * The agent-driven path (`/hyperframes` skill loaded in Claude Code) remains
 * the canonical way to author final compositions; this module just ensures
 * the visual contract exists in the project before any HTML is written.
 *
 * Source-of-truth attribution: HeyGen Hyperframes — https://hyperframes.heygen.com
 * License: Apache 2.0 (see NOTICE)
 */
/** One named visual identity. Designed to round-trip into DESIGN.md. */
export interface VisualStyle {
    /** Display name, e.g. "Swiss Pulse". */
    name: string;
    /** URL/CLI-friendly slug, e.g. "swiss-pulse". */
    slug: string;
    /** Designer or movement the style references. */
    designer: string;
    /** One-line mood, e.g. "Clinical, precise". */
    mood: string;
    /** Content categories the style works best for. */
    bestFor: string;
    /** 2–3 hex colours that anchor the palette. */
    palette: string[];
    /** Free-form palette description (warm/cold, primary/accent). */
    paletteNotes: string;
    /** Typography rules — family, weights, role per weight. */
    typography: string;
    /** Composition rules — grid, spacing, framing. */
    composition: string;
    /** Motion rules — speed, easing, character. */
    motion: string;
    /** Hyperframes shader name(s) that match the energy. */
    transition: string;
    /** GSAP signature — easing functions and feel. */
    gsapSignature: string;
    /** 3 anti-patterns to avoid for this style. */
    avoid: string[];
}
/** All vendored styles in display order. */
export declare function listVisualStyles(): readonly VisualStyle[];
/**
 * Find a style by name (case-insensitive) or slug. Returns undefined if no
 * match. Caller is responsible for surfacing a usage error.
 */
export declare function getVisualStyle(query: string): VisualStyle | undefined;
/** Comma-joined list of valid `--visual-style` argument values, for help/error text. */
export declare function visualStyleNames(): string;
