/**
 * @fileoverview Classify · Overview Analytics (Phase 4 audit/analytics).
 *
 * KPI cards + three hand-rolled inline-SVG charts (tag distribution bar,
 * items-over-time line, weight histogram) for the classify dataset. All numbers
 * come from `ClassifyAnalyticsEngine` so agents and UI share one source of truth.
 *
 * The engine is framework-agnostic (server + client safe); this component simply
 * calls it with the current scope and the active metadata provider. Charts are
 * SVG built from typed view models — NO charting library.
 */
import { AfterViewInit } from '@angular/core';
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
import { ClassifyAnalyticsScope, ClassifyKPIs } from '@memberjunction/tag-engine-base';
import { formatNumber } from '../shared/classify.format';
import * as i0 from "@angular/core";
/** A bar in the tag-distribution chart, pre-scaled to the chart width. */
interface DistributionBar {
    Tag: string;
    Count: number;
    WidthPct: number;
}
/** A point in the items-over-time line chart, in SVG coordinate space. */
interface LinePoint {
    X: number;
    Y: number;
    Label: string;
    Count: number;
}
/** A bar in the weight histogram, pre-scaled to the chart height. */
interface HistogramBar {
    Label: string;
    Count: number;
    HeightPct: number;
}
export declare class ClassifyOverviewAnalyticsComponent extends BaseAngularComponent implements AfterViewInit {
    private cdr;
    ngAfterViewInit(): Promise<void>;
    /** Number of distinct tags shown in the distribution chart. */
    private static readonly TAG_DISTRIBUTION_LIMIT;
    /** Line-chart viewBox geometry. */
    private static readonly LINE_WIDTH;
    private static readonly LINE_HEIGHT;
    private static readonly LINE_PAD;
    /** Optional analytics scope (source / content-type / date range). Re-loads on change. */
    private _scope;
    set Scope(value: ClassifyAnalyticsScope | null);
    get Scope(): ClassifyAnalyticsScope | null;
    IsLoading: boolean;
    HasData: boolean;
    KPIs: ClassifyKPIs;
    DistributionBars: DistributionBar[];
    LinePoints: LinePoint[];
    LinePath: string;
    HistogramBars: HistogramBar[];
    readonly FormatNumber: typeof formatNumber;
    readonly LineWidth = 600;
    readonly LineHeight = 160;
    private _loadedOnce;
    /** Load (or reload) all analytics for the current scope. Public entry point for the parent. */
    Reload(): Promise<void>;
    private buildDistribution;
    private buildOverTime;
    private buildHistogram;
    static ɵfac: i0.ɵɵFactoryDeclaration<ClassifyOverviewAnalyticsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ClassifyOverviewAnalyticsComponent, "classify-overview-analytics", never, { "Scope": { "alias": "Scope"; "required": false; }; }, {}, never, never, false, never>;
}
export {};
//# sourceMappingURL=classify-overview-analytics.component.d.ts.map