import { OnInit, OnDestroy, AfterViewInit, ChangeDetectorRef } from '@angular/core';
import { BaseResourceComponent } from '@memberjunction/ng-shared';
import { TabConfig } from '@memberjunction/ng-ui-components';
import { WorkspaceStateManager, GoldenLayoutManager } from '@memberjunction/ng-base-application';
import * as i0 from "@angular/core";
interface LayoutSection {
    id: 'workspace' | 'golden';
    label: string;
    icon: string;
    description: string;
}
/**
 * Layout Inspector — read-only view of the current workspace + Golden Layout
 * configuration. Replaces the legacy "Log Layout (Debug)" user-menu item that
 * only printed to console.
 */
export declare class LayoutInspectorComponent extends BaseResourceComponent implements OnInit, OnDestroy, AfterViewInit {
    private cdr;
    private workspace;
    private layout;
    Sections: LayoutSection[];
    ActiveSection: 'workspace' | 'golden';
    LayoutJson: string;
    CopyConfirmed: boolean;
    LastRefreshed: Date;
    constructor(cdr: ChangeDetectorRef, workspace: WorkspaceStateManager, layout: GoldenLayoutManager);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    GetResourceDisplayName(): Promise<string>;
    GetResourceIconClass(): Promise<string>;
    /** Sections rendered as horizontal tabs in the chrome's [toolbar] slot. */
    get tabsConfig(): TabConfig[];
    /** Adapter for `<mj-tab-nav>`'s string-typed `(TabChange)` output. */
    onTabChange(key: string): void;
    OnSectionClick(section: LayoutSection): void;
    refresh(): void;
    OnCopy(): Promise<void>;
    OnDownload(): void;
    get LastRefreshedLabel(): string;
    get SectionLabel(): string;
    private computeData;
    private jsonReplacer;
    /** Publish the current Layout Inspector selection to the AI agent. */
    private publishAgentContext;
    /**
     * Register the read-only client tools the AI agent can invoke against the
     * Layout Inspector: RefreshLayoutSnapshot, InspectElement (switch section).
     */
    private registerAgentClientTools;
    /** Switch the inspected section (the inspector's "elements") by id. */
    private toolInspectElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutInspectorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutInspectorComponent, "mj-layout-inspector", never, {}, {}, never, never, false, never>;
}
export {};
//# sourceMappingURL=layout-inspector.component.d.ts.map