/**
 * Presets de layout para `val-skeleton-layout`.
 *
 * Cada preset compone átomos `val-skeleton` en la forma de una shape de página
 * común. Para agregar uno nuevo: añadir el valor acá + un `@case` en el
 * template del componente. Cero cambios en los consumers.
 */
export type SkeletonLayoutPreset = 'form' | 'list' | 'article' | 'cards' | 'detail' | 'hero';
/**
 * Configuración del componente `val-skeleton-layout`.
 *
 * @example Form con avatar (perfil):
 * ```html
 * <val-skeleton-layout [props]="{ preset: 'form', rows: 3, showAvatar: true }" />
 * ```
 *
 * @example Lista (notificaciones, sesiones):
 * ```html
 * <val-skeleton-layout [props]="{ preset: 'list', rows: 5 }" />
 * ```
 *
 * @example Artículo legal:
 * ```html
 * <val-skeleton-layout [props]="{ preset: 'article' }" />
 * ```
 */
export interface SkeletonLayoutMetadata {
    /** Shape de la página a esqueletizar. */
    preset: SkeletonLayoutPreset;
    /**
     * Cantidad de items repetibles (fields en `form`, filas en `list`/`detail`,
     * párrafos en `article`, cards en `cards`). Si se omite usa el default del
     * preset.
     */
    rows?: number;
    /** `form` — antepone un bloque avatar + meta lines. Default `false`. */
    showAvatar?: boolean;
    /** `form` — renderiza un bloque de botón al final. Default `true`. */
    showButton?: boolean;
    /** `cards` — columnas por fila. Default `2`. */
    columns?: number;
    /** `article` / `hero` — incluye bloque de título grande. Default `true`. */
    showTitle?: boolean;
    /** Desactiva el shimmer. Default animado. */
    animated?: boolean;
    /** Clase CSS extra para el contenedor. */
    cssClass?: string;
}
/** Defaults de `rows` por preset cuando el consumer no lo especifica. */
export declare const SKELETON_LAYOUT_DEFAULT_ROWS: Record<SkeletonLayoutPreset, number>;
