import { EmptyStateMetadata } from '../../molecules/empty-state/types'; import { ButtonGroupMetadata } from '../../molecules/button-group/types'; import { ButtonMetadata } from '../../types'; import { Organization, PendingInvitation } from '../../../services/org/types'; import { AccountViewConfig } from './types'; import * as i0 from "@angular/core"; /** * `val-account-view` — vista Cuenta full-feature autocontenida (organism). * Promovida desde `showcase` bajo el proceso de ADR-021. Reúne: * - **Invitaciones pendientes** — aceptar / rechazar (`val-invitation-card`). * - **Organizaciones** — card de org activa + empty-card + CTA "Nueva org" * (modal `val-create-org-modal`) + "Ver todas" (modal `val-switch-org-modal`). * - **Cerrar esta sesión** — `auth.logoutWithConfirmation()`. * - **Eliminar cuenta** — modal `val-delete-account-modal`. * * NO renderiza ion-content — vive dentro de val-page-wrapper. No usa deep-links; * `ActivatedRoute` se inyecta `{ optional: true }` solo para leer el route data * de config. La navegación a la org route va por `NavigationService`. * * Auto-registra sus defaults i18n (es/en) en el constructor si el consumer no * proveyó el namespace configurado (default `Settings.Account`). */ export declare class AccountViewComponent { private nav; private i18n; private auth; private orgService; private modalService; private toast; private errors; private route; /** * Config vía @Input (object-first). Si no se pasa, se cae al route data * `accountConfig` (poblado por `provideValtechAccountRoutes`). `resolvedConfig` * mergea con los defaults — `@Input` gana sobre route data. */ config?: AccountViewConfig; readonly resolvedConfig: import("@angular/core").Signal> & Pick>; /** Namespace i18n resuelto (capturado para llamadas no-reactivas). */ private get ns(); readonly orgs: import("@angular/core").WritableSignal; readonly orgsLoading: import("@angular/core").WritableSignal; private readonly orgsError; readonly orgsErrorState: import("@angular/core").Signal; readonly pendingInvites: import("@angular/core").WritableSignal; readonly pendingInvitesLoading: import("@angular/core").WritableSignal; readonly inviteAccepting: import("@angular/core").WritableSignal; readonly pageTitle: import("@angular/core").Signal; readonly pageDescription: import("@angular/core").Signal; readonly orgsTitle: import("@angular/core").Signal; readonly orgsEmpty: import("@angular/core").Signal; readonly orgsMoreInfo: import("@angular/core").Signal; readonly orgsNewQuestion: import("@angular/core").Signal; readonly orgsNewHint: import("@angular/core").Signal; readonly newOrgCtaProps: import("@angular/core").Signal<{ title: string; description: string; padding: string; borderRadius: string; actions: ButtonGroupMetadata; }>; readonly logoutTitle: import("@angular/core").Signal; readonly logoutHint: import("@angular/core").Signal; readonly dangerTitle: import("@angular/core").Signal; readonly dangerDeleteTitle: import("@angular/core").Signal; readonly dangerDeleteHint: import("@angular/core").Signal; readonly activeOrgId: import("@angular/core").Signal; readonly activeOrgRole: import("@angular/core").Signal; readonly activeOrg: import("@angular/core").Signal; readonly logoutButtonProps: import("@angular/core").Signal>; readonly deleteAccountButtonProps: import("@angular/core").Signal>; readonly switchAccountButtonProps: import("@angular/core").Signal>; constructor(); orgTypeLabel(type: string): string; onSwitchAccount(): void; onDeleteAccount(): void; onManageOrg(): void; onNewOrg(): void; onMoreInfo(): void; onLogout(): void; private loadPendingInvites; acceptPendingInvite(invite: PendingInvitation): void; declinePendingInvite(invite: PendingInvitation): void; private loadOrgs; protected tt(key: string): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }