import { PSPanelKey } from './predictive-studio.types';
/**
 * Predictive Studio's nav was consolidated from 8 flat top-level Explorer nav items into **3 doors** —
 * `Predictions` (the business front door), `Studio` (the analyst workbench), and `Models` (registry +
 * production) — so a business user sees one item and analysts opt into the depth one click in. The two
 * workbench doors (`Studio`, `Models`) are single resources that host an internal left-nav swapping the
 * existing section panels (`ps-pipelines`, `ps-registry`, …). This module holds the **pure** section
 * descriptors + routing helpers for those hosts so the wiring is unit-testable independent of Angular.
 */
/** A section in a workbench door's internal left-nav. `group` is the optional left-nav group heading (''=ungrouped, rendered first). */
export interface PSSection {
    readonly key: PSPanelKey;
    readonly label: string;
    readonly icon: string;
    readonly group: string;
}
/** Studio door — the build/run workbench: Overview, then Build (pipelines, algorithms) and Run (experiments, compare). */
export declare const STUDIO_SECTIONS: readonly PSSection[];
/** Models door — the trained-model lifecycle: the registry and what's live in production. */
export declare const MODELS_SECTIONS: readonly PSSection[];
/** The nav-item Label of the Models door (must match `DefaultNavItems` in the application metadata). */
export declare const MODELS_NAV_LABEL = "Models";
/** Distinct left-nav group headings for a section set, in first-seen order ('' = the ungrouped lead items). */
export declare function sectionGroups(sections: readonly PSSection[]): string[];
/** The sections belonging to one left-nav group, preserving declaration order. */
export declare function sectionsInGroup(sections: readonly PSSection[], group: string): PSSection[];
/** Resolve a section's display label (falls back to the key when unknown — never throws). */
export declare function sectionLabel(sections: readonly PSSection[], key: PSPanelKey): string;
/** Resolve a section's icon (falls back to a neutral default when unknown). */
export declare function sectionIcon(sections: readonly PSSection[], key: PSPanelKey): string;
/** Whether `key` is a section hosted inside the given door. */
export declare function hasSection(sections: readonly PSSection[], key: PSPanelKey): boolean;
/**
 * Where a Home("Overview")-panel `navigate(PSPanelKey)` intent should land now that the sections are
 * split across two doors:
 * - a Studio section (pipelines / catalog / experiments / compare) → switch the active section in-place;
 * - a Models section (registry / production) → cross-door switch to the Models app nav item, deep-linked
 *   to that section;
 * - `home` (or anything unmapped) → no-op (we're already on Studio's Overview).
 */
export type HomeNavTarget = {
    readonly kind: 'section';
    readonly key: PSPanelKey;
} | {
    readonly kind: 'app';
    readonly navLabel: string;
    readonly section: PSPanelKey;
} | {
    readonly kind: 'none';
};
export declare function routeHomeNavigate(key: PSPanelKey): HomeNavTarget;
//# sourceMappingURL=predictive-studio.nav.d.ts.map