import * as i0 from "@angular/core";
/**
 * `val-modal-shell` — wrapper canónico para modales del factory.
 *
 * Implementa el patrón obligatorio de la Regla #5 (`frontend/CLAUDE.md`):
 *  - Header sin `<ion-title>`, solo botón de cierre con texto `Cerrar` en
 *    `slot="end"`.
 *  - Título principal del modal en el BODY como `val-display size="small"`
 *    (32/24 px).
 *  - Subtítulo opcional como `val-title size="large"` (24/18 px).
 *
 * El contenido del modal se proyecta vía `<ng-content>`.
 *
 * @example
 * ```html
 * <val-modal-shell [title]="title" [subtitle]="subtitle" (close)="dismiss()">
 *   <!-- body del modal -->
 *   <p>Contenido...</p>
 * </val-modal-shell>
 * ```
 *
 * @example Sin subtitle, con label de cierre custom:
 * ```html
 * <val-modal-shell [title]="title" [closeLabel]="'Fechar'" (close)="dismiss()">
 *   ...
 * </val-modal-shell>
 * ```
 */
export declare class ModalShellComponent {
    private i18n;
    /** Título principal del modal — se renderiza como `val-display size="small"`. */
    readonly title: import("@angular/core").InputSignal<string>;
    /** Subtítulo opcional — se renderiza como `val-title size="large"`. */
    readonly subtitle: import("@angular/core").InputSignal<string>;
    /**
     * Label del botón de cierre. Si no se provee, se resuelve vía i18n con la
     * clave `close` del namespace `_global` ("Cerrar" / "Close" / "Fechar").
     */
    readonly closeLabel: import("@angular/core").InputSignal<string>;
    /**
     * Muestra el botón de cierre del header. `true` por defecto (estándar
     * canónico). Solo se desactiva en modales no-dismissable (ej. confirmaciones
     * bloqueantes que requieren respuesta explícita).
     */
    readonly showClose: import("@angular/core").InputSignal<boolean>;
    /** Emite cuando el user toca el botón de cierre del header. */
    readonly close: import("@angular/core").OutputEmitterRef<void>;
    /** Label efectivo — usa `closeLabel` si viene, sino cae al i18n `_global.close`. */
    readonly resolvedCloseLabel: import("@angular/core").Signal<string>;
    onClose(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ModalShellComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ModalShellComponent, "val-modal-shell", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; }, { "close": "close"; }, never, ["*"], true, never>;
}
