import { OnInit } from '@angular/core'; import { FormMetadata, FormSubmit } from '../../types'; import { ClientApiKey, ClientApiKeyWithSecret } from '../../../services/apikeys/types'; import { LocalizedLabel, PermissionResource } from '../../../services/org/permission-catalog.service'; import * as i0 from "@angular/core"; /** * `val-api-keys-modal` — gestión de Client API Keys org-scopeadas (ADR-023 fase 6). * * Lista las keys de la org, permite crear (mostrando el secreto UNA vez con copia) * y revocar. Pensado para habilitar integraciones M2M del import de miembros, pero * sirve a cualquier permiso del catálogo. Header canónico (Regla #5). */ export declare class ApiKeysModalComponent implements OnInit { private i18n; private apiKeys; private catalog; private auth; /** Inyectado por `ModalService.open`. */ _modalRef?: { dismiss: (data?: unknown, role?: string) => void; }; /** Namespace i18n. */ i18nNamespace: string; /** Permisos del catálogo YA filtrados (sin internal, sin otras apps). */ readonly catalogPermissions: import("@angular/core").WritableSignal; /** Labels de acción (es/en) del backend, para el selector. */ readonly actionLabels: import("@angular/core").WritableSignal>; /** Permisos seleccionados para la nueva key (`resource:action`). */ readonly selectedPerms: import("@angular/core").WritableSignal; readonly keys: import("@angular/core").WritableSignal; readonly loading: import("@angular/core").WritableSignal; readonly showCreate: 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; /** * FormMetadata del form de crear key (val-form). Reactivo a idioma + permisos * disponibles + estado submitting. Reemplaza los ion-input/ion-checkbox crudos * por val-form (consistencia con el resto de modales del factory). */ readonly createForm: import("@angular/core").Signal; constructor(); ngOnInit(): void; /** * Carga el catálogo de permisos y lo filtra a lo asignable a una API Key de la * org: descarta `scope:internal` (el backend ya los omite para no-staff) y los * permisos de OTRAS apps (`appId !== appId del catálogo`). Quedan los permisos de * org (users/roles/rbac) + los de la app actual. */ private loadCatalog; private activeOrgId; private refresh; openCreate(): void; onCreateSubmit(event: FormSubmit): void; revoke(key: ClientApiKey): void; copy(secret: string): Promise; finishSecret(): void; dismiss(): void; t(key: string): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }