/**
 * Shared Storybook "gallery" presentation helpers.
 *
 * Builds the reusable `.sb-gallery` markup (themed sections, curved stage,
 * glassy cards with pill labels and the "Live preview" badge) so individual
 * stories don't duplicate the same HTML. The matching styles live in
 * `.storybook/sb-examples.css`.
 *
 * Typical usage:
 *   gallery({
 *     sections: [
 *       { cards: [{ content, badge: true }] },
 *       { title: 'Sizes', colour: 'green', border: true, cards: sizes.map(…) }
 *     ]
 *   });
 *
 * `title` and `subtitle` are optional; when both are omitted the section
 * renders without a header (useful for the badge-only "live preview" card).
 */
export type GalleryColour = 'blue' | 'navy' | 'iris' | 'turquoise' | 'green' | 'yellow' | 'orange' | 'red' | 'pink' | 'neutral';
export interface GalleryCardOptions {
    /** Inner HTML rendered inside the card. */
    content: string;
    /** Uppercase pill shown at the top of the card. */
    label?: string;
    /** `true` renders a "Live preview" badge, a string renders custom text. */
    badge?: boolean | string;
    /** Span the full width of the grid. */
    wide?: boolean;
    /** Decorative "resize" frame + label for responsive demos; string sets the label. */
    resizeHint?: boolean | string;
}
export interface GallerySectionOptions {
    /** Optional heading; omit to render the section without a title (e.g. Playground). */
    title?: string;
    subtitle?: string;
    colour?: GalleryColour;
    /** Bordered `h4` heading (example sections) instead of the `h2` Playground heading. */
    border?: boolean;
    cards: Array<GalleryCardOptions | string>;
}
export interface GalleryOptions {
    colour?: GalleryColour;
    sections: GallerySectionOptions[];
}
export declare const galleryCard: (card: GalleryCardOptions | string) => string;
export declare const gallerySection: ({ title, subtitle, colour, border, cards }: GallerySectionOptions) => string;
export declare const gallery: ({ colour, sections }: GalleryOptions) => string;
