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<Required<Omit<AccountViewConfig, "onOrgSwitched" | "onOrgCreated" | "onLoggedOut" | "onAccountDeleted">> & Pick<AccountViewConfig, "onOrgSwitched" | "onOrgCreated" | "onLoggedOut" | "onAccountDeleted">>;
    /** Namespace i18n resuelto (capturado para llamadas no-reactivas). */
    private get ns();
    readonly orgs: import("@angular/core").WritableSignal<Organization[]>;
    readonly orgsLoading: import("@angular/core").WritableSignal<boolean>;
    private readonly orgsError;
    readonly orgsErrorState: import("@angular/core").Signal<EmptyStateMetadata>;
    readonly pendingInvites: import("@angular/core").WritableSignal<PendingInvitation[]>;
    readonly pendingInvitesLoading: import("@angular/core").WritableSignal<boolean>;
    readonly inviteAccepting: import("@angular/core").WritableSignal<string>;
    readonly pageTitle: import("@angular/core").Signal<string>;
    readonly pageDescription: import("@angular/core").Signal<string>;
    readonly orgsTitle: import("@angular/core").Signal<string>;
    readonly orgsEmpty: import("@angular/core").Signal<string>;
    readonly orgsMoreInfo: import("@angular/core").Signal<string>;
    readonly orgsNewQuestion: import("@angular/core").Signal<string>;
    readonly orgsNewHint: import("@angular/core").Signal<string>;
    readonly newOrgCtaProps: import("@angular/core").Signal<{
        title: string;
        description: string;
        padding: string;
        borderRadius: string;
        actions: ButtonGroupMetadata;
    }>;
    readonly logoutTitle: import("@angular/core").Signal<string>;
    readonly logoutHint: import("@angular/core").Signal<string>;
    readonly dangerTitle: import("@angular/core").Signal<string>;
    readonly dangerDeleteTitle: import("@angular/core").Signal<string>;
    readonly dangerDeleteHint: import("@angular/core").Signal<string>;
    readonly activeOrgId: import("@angular/core").Signal<string>;
    readonly activeOrgRole: import("@angular/core").Signal<string>;
    readonly activeOrg: import("@angular/core").Signal<Organization>;
    readonly logoutButtonProps: import("@angular/core").Signal<Partial<ButtonMetadata>>;
    readonly deleteAccountButtonProps: import("@angular/core").Signal<Partial<ButtonMetadata>>;
    readonly switchAccountButtonProps: import("@angular/core").Signal<Partial<ButtonMetadata>>;
    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<AccountViewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AccountViewComponent, "val-account-view", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
}
