import { ButtonMetadata } from '../../types';
/**
* Configuration for `val-section-header`.
*
* Layout (two rows):
* ```
* ┌─────────────────────────────────────────────┐
* │ title (bold, 18px) [action button] │ ← row 1, space-between
* │ info link / subtitle (muted) │ ← row 2, optional
* └─────────────────────────────────────────────┘
* ```
*
* Both `action` and `infoLink` emit `(actionClick)` with their `token`.
*
* @example Title + primary action button
* ```html
*
* ```
*
* @example Title + row-1 info link (no primary action)
* ```html
*
* ```
*
* @example Full — title + action + row-2 info link
* ```html
*
* ```
*/
export interface SectionHeaderMetadata {
/** Main section title — bold, ~18px. */
title: string;
/**
* Title size variant.
* - 'section' (default): 18px — for section headers within a page.
* - 'page': display-small scale (24px mobile / 32px desktop) — for page-level headers.
*/
titleSize?: 'section' | 'page';
/**
* Primary action button rendered on the RIGHT of row 1 (space-between).
* Emits `(actionClick)` with the button's `token`.
*/
action?: ButtonMetadata;
/**
* Clickable info / help link rendered at the START of row 2 (below title).
* Emits `(actionClick)` with its `token` (defaults to `'info'`).
* Use for "¿Qué es esto?"-style links.
*/
infoLink?: {
label: string;
token?: string;
};
/**
* Static muted text in row 2 (shown below `infoLink` if both are set).
* Use for brief descriptive copy that does not need to be clickable.
*/
subtitle?: string;
}