import { AfterViewInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
import { BaseDashboard } from '@memberjunction/ng-shared';
import { ResourceData } from '@memberjunction/core-entities';
import * as i0 from "@angular/core";
interface CredentialsDashboardState {
    activeTab: string;
}
export declare class CredentialsDashboardComponent extends BaseDashboard implements AfterViewInit, OnDestroy {
    private cdr;
    isLoading: boolean;
    activeTab: string;
    selectedIndex: number;
    credentialCount: number;
    typeCount: number;
    categoryCount: number;
    expiringSoonCount: number;
    typeNames: string[];
    categoryNames: string[];
    private visitedTabs;
    navigationItems: string[];
    tabLabels: Record<string, string>;
    private stateChangeSubject;
    constructor(cdr: ChangeDetectorRef);
    GetResourceDisplayName(data: ResourceData): Promise<string>;
    ngAfterViewInit(): void;
    /**
     * Publish the current Credentials dashboard state to the AI agent. Re-invoked on
     * every meaningful state change (data load, tab switch). Only non-sensitive
     * navigation/metadata is exposed — never secret values.
     */
    private publishAgentContext;
    /**
     * Register the read-only / navigational client tools the agent may invoke.
     * Every Handler is tolerant: validates input and returns
     * `{ Success: false, ErrorMessage }` rather than throwing. No tool here
     * reads, reveals, or mutates any credential.
     */
    private registerAgentClientTools;
    private handleSwitchTabTool;
    /**
     * Resolve a credential-type definition by name (exact, case-insensitive, then
     * partial-contains) and navigate to the Types tab. Read-only: opens the Types
     * tab for viewing; never reveals a credential record or secret value.
     */
    private handleFindCredentialTypeTool;
    private handleRefreshCountsTool;
    ngOnDestroy(): void;
    private loadCounts;
    onTabChange(tabId: string): void;
    hasVisited(tabId: string): boolean;
    private setupStateManagement;
    private emitStateChange;
    loadUserState(state: Partial<CredentialsDashboardState>): void;
    initDashboard(): void;
    loadData(): void;
    getCurrentTabLabel(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<CredentialsDashboardComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CredentialsDashboardComponent, "mj-credentials-dashboard", never, {}, {}, never, never, false, never>;
}
export {};
//# sourceMappingURL=credentials-dashboard.component.d.ts.map