import { OnInit } from '@angular/core'; import { FormControl } from '@angular/forms'; import { InputMetadata } from '../../types'; import { ImportMembersResponse, ImportRowResult, OrgRole } from '../../../services/org/types'; import * as i0 from "@angular/core"; /** * `val-member-import-modal` — panel de carga masiva de miembros (ADR-023 fase 6). * * El admin pega un CSV (`email,nombre,rol`); el modal lo parsea a filas y llama * `OrgService.importMembers`. Muestra el resultado por-fila (partial success): * `created` / `assigned` / `skipped` / `error`. Header canónico (Regla #5). * * Auto-registra defaults i18n (es/en) en `Settings.ImportModal`. */ export declare class MemberImportModalComponent implements OnInit { private i18n; private orgService; /** Org destino del import. */ orgId: string; /** Nombres de roles disponibles (para el hint). Opcional. */ availableRoles: OrgRole[]; /** Callback tras una importación exitosa (≥1 fila procesada) — refresca la lista. */ onSuccess?: () => void; /** Inyectado por `ModalService.open`. */ _modalRef?: { dismiss: (data?: unknown, role?: string) => void; }; /** Namespace i18n. */ i18nNamespace: string; csv: string; readonly importMode: import("@angular/core").WritableSignal<"paste" | "file">; readonly onConflictControl: FormControl; readonly sendActivationControl: FormControl; readonly conflictSelectProps: import("@angular/core").Signal>; readonly sendActivationProps: import("@angular/core").Signal; readonly submitting: import("@angular/core").WritableSignal; readonly errorMsg: import("@angular/core").WritableSignal; readonly results: import("@angular/core").WritableSignal; /** Nombre del archivo CSV cargado (vacío si se pegó manualmente). */ readonly fileName: import("@angular/core").WritableSignal; readonly rolesHint: import("@angular/core").Signal; readonly summaryLabel: import("@angular/core").Signal; constructor(); ngOnInit(): void; /** Carga un archivo CSV seleccionado: lee su texto al textarea (`csv`). */ onFileSelected(event: Event): void; /** Parsea el CSV pegado a filas {email,name,roleName}. Tolera header. */ private parseCsv; submit(): void; statusLabel(r: ImportRowResult): string; reset(): void; dismiss(): void; t(key: string): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }