import { OnInit, EventEmitter } from '@angular/core'; import { FormMetadata, FormSubmit } from '../../types'; import { ClientApiKeyWithSecret } from '../../../services/apikeys/types'; import { LocalizedLabel, PermissionResource } from '../../../services/org/permission-catalog.service'; import * as i0 from "@angular/core"; /** * `val-api-key-create-modal` — modal SÓLO para crear una Client API Key. * * Extraído de `val-api-keys-modal` bajo el proceso de ADR-021: la gestión (lista + * revoke) vive ahora en la vista `val-api-keys-view`, y la creación en este modal, * que `api-keys-view` abre vía `ModalService`. Header canónico (Regla #5): título en * el body, botón Cerrar en el toolbar. * * Flujo: selector de permisos (filtrado por org/app) + form (nombre + expiración) → * crea → muestra el secreto UNA vez con copia. Emite `(created)` al terminar (para * que la vista refresque la lista) y `(dismissed)` al cerrar. */ export declare class ApiKeyCreateModalComponent implements OnInit { private i18n; private apiKeys; private catalog; private auth; /** Inyectado por `ModalService.open` — referencia para cerrar desde dentro. */ _modalRef?: { dismiss: (data?: unknown, role?: string) => void; }; /** Namespace i18n (comparte el de `val-api-keys-modal`). */ i18nNamespace: string; /** Callback tras crear una key (pasado por `componentProps` — refresca la lista). */ onCreated?: () => void; readonly catalogPermissions: import("@angular/core").WritableSignal; readonly actionLabels: import("@angular/core").WritableSignal>; readonly selectedPerms: import("@angular/core").WritableSignal; readonly submitting: import("@angular/core").WritableSignal; readonly errorMsg: import("@angular/core").WritableSignal; readonly secret: import("@angular/core").WritableSignal; readonly copied: import("@angular/core").WritableSignal; /** Emite cuando se creó una key (además del callback `onCreated`). */ created: EventEmitter; readonly createForm: import("@angular/core").Signal; constructor(); ngOnInit(): void; /** * Carga el catálogo y lo filtra a lo asignable a una API Key de la org: descarta * `internal` (el backend ya los omite para no-staff) y los permisos de OTRAS apps. */ private loadCatalog; private activeOrgId; onCreateSubmit(event: FormSubmit): void; copy(secret: string): Promise; finishSecret(): void; dismiss(): void; t(key: string): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }