import { WritableSignal } from '@angular/core';
import { FormMetadata, FormSubmit } from '../../types';
import { Organization } from '../../../services/org/types';
import * as i0 from "@angular/core";
/**
 * `val-create-org-modal` — modal de creación de organización (organism
 * compartido). Promovido desde `showcase` bajo el proceso de ADR-021. Reusado por
 * la vista Cuenta (y futuras vistas org-aware).
 *
 * Crea la org vía `OrgService.createOrg` y, en éxito, cambia a ella con
 * `OrgSwitchService.switchTo`. El formulario (nombre + tipo + descripción) se
 * construye una vez y se mantiene reactivo a idioma + estado de trabajo vía
 * effects `allowSignalWrites`.
 *
 * Abierto vía `ModalService` — recibe `_modalRef` por `componentProps` + callback
 * `onSuccess(newOrg)`. Header canónico (Regla #5): sin `ion-title`, botón Cerrar
 * texto en `slot=end`, título/subtítulo en el body con `val-display`/`val-title`.
 *
 * Auto-registra sus defaults i18n (es/en) si el consumer no proveyó el namespace
 * `CreateOrgModal`.
 */
export declare class CreateOrgModalComponent {
    private i18n;
    private orgService;
    private orgSwitch;
    private toast;
    private errors;
    /** Inyectado por `ModalService.open` — referencia para cerrar desde dentro. */
    _modalRef?: {
        dismiss: (data?: unknown, role?: string) => void;
    };
    /** Callback tras crear la org (pasado por `componentProps`). */
    onSuccess?: (newOrg: Organization) => void;
    /** Namespace i18n con que la vista resuelve sus textos. */
    i18nNamespace: string;
    private readonly _busy;
    readonly formMeta: WritableSignal<FormMetadata>;
    constructor();
    onSubmit(event: FormSubmit): Promise<void>;
    dismiss(): void;
    private buildFormMeta;
    t(key: string): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<CreateOrgModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CreateOrgModalComponent, "val-create-org-modal", never, { "_modalRef": { "alias": "_modalRef"; "required": false; }; "onSuccess": { "alias": "onSuccess"; "required": false; }; "i18nNamespace": { "alias": "i18nNamespace"; "required": false; }; }, {}, never, never, true, never>;
}
