/**
 * Canonical per-section metadata for the OpenFrame dev-center surfaces
 * (Roadmap / Bug-fixes & Enhancements / Releases / Onboarding Guides).
 *
 * One file co-locates every per-section value the openframe homepage
 * navigator card AND the destination full-page hero both consume —
 * icon, brief navigator description, longer hero paragraph, search
 * config (placeholder + paramKey), filter config (paramKey + options).
 *
 * Adding a 5th section is one edit here and zero edits across the
 * page files / navigator grid.
 *
 * EMBEDDER NOTE — `onboarding`:
 *   The `onboarding` entry is INERT on `hero`/`search`/`filter` because
 *   `/onboarding-guides` is owned by `OnboardingGuidesCatalogView` (a
 *   hub-side full-page view), not the shared `DevSectionView` chrome.
 *   This entry exists ONLY to drive the homepage navigator card. Any
 *   embedder iterating the registry must SKIP `onboarding` if they
 *   don't host the `/onboarding-guides` route — e.g.
 *   `Object.values(OPENFRAME_DEV_SECTIONS).filter(s => s.href !== '/onboarding-guides')`.
 *
 * SERVER-BUNDLE SAFETY:
 *   This module imports lucide-react icon components as JSX values but
 *   never RENDERS them at module load. Lib's tsup config places `utils/`
 *   in the server bundle (no `"use client"` banner), which is safe
 *   because component-function references don't execute on import.
 *   Precedent: `src/utils/platform-config.tsx` (also lucide imports,
 *   also server-bundle, also imported by route-page `metadata` exports).
 */
import { type LucideIcon } from 'lucide-react';
export declare const ROADMAP_STATUS_OPTIONS: readonly [{
    readonly value: "all";
    readonly label: "All";
}, {
    readonly value: "completed";
    readonly label: "Completed";
}, {
    readonly value: "in_progress";
    readonly label: "In Progress";
}];
export declare const DELIVERY_TASK_TYPE_OPTIONS: readonly [{
    readonly value: "all";
    readonly label: "All";
}, {
    readonly value: "Bug";
    readonly label: "Bug-fix";
}, {
    readonly value: "Request";
    readonly label: "Enhancement";
}];
export declare const TICKET_STATUS_OPTIONS: readonly [{
    readonly value: "all";
    readonly label: "All";
}, {
    readonly value: "open";
    readonly label: "Open";
}, {
    readonly value: "closed";
    readonly label: "Closed";
}];
export interface OpenframeDevSection {
    /** Route href the navigator card and any internal cross-link composes. */
    href: string;
    icon: LucideIcon;
    /** Brief copy for the homepage navigator card (≈50 char teaser). */
    navigator: {
        title: string;
        description: string;
    };
    /** Longer copy for the destination page hero (≈120-150 char marketing paragraph). */
    hero: {
        title: string;
        description: string;
    };
    /** Inline search bar configuration. */
    search: {
        /** Placeholder text shown in the search input. */
        placeholder: string;
        /** URL search param the input writes on submit and the list reads on fetch. */
        paramKey: string;
    } | null;
    /** Filter pill row configuration. `null` when the section has no filter (e.g. onboarding-guides). */
    filter: {
        label: string;
        /** URL search param the pills write and the list reads. */
        paramKey: string;
        /** The option value that maps to "no filter applied". When selected,
         *  the URL param is removed instead of being set. Defaults to the
         *  first option's value if omitted — explicit field guards against
         *  brittleness if `options` is later reordered. */
        defaultValue: string;
        options: readonly {
            value: string;
            label: string;
        }[];
    } | null;
}
export declare const OPENFRAME_DEV_SECTIONS: {
    readonly roadmap: {
        readonly href: "/roadmap";
        readonly icon: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
        readonly navigator: {
            readonly title: "Development Roadmap";
            readonly description: "What we're building next — vote on upcoming features.";
        };
        readonly hero: {
            readonly title: "Development Roadmap";
            readonly description: "See what's in flight, what's planned, and what's up for community vote. The entire OpenFrame roadmap is public.";
        };
        readonly search: {
            readonly placeholder: "Search roadmap items...";
            readonly paramKey: "search";
        };
        readonly filter: {
            readonly label: "Status";
            readonly paramKey: "status";
            readonly defaultValue: "all";
            readonly options: readonly [{
                readonly value: "all";
                readonly label: "All";
            }, {
                readonly value: "completed";
                readonly label: "Completed";
            }, {
                readonly value: "in_progress";
                readonly label: "In Progress";
            }];
        };
    };
    readonly delivery: {
        readonly href: "/bug-fixes-and-enhancements";
        readonly icon: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
        readonly navigator: {
            readonly title: "Bug-fixes & Enhancements";
            readonly description: "Recently shipped fixes and improvements.";
        };
        readonly hero: {
            readonly title: "Bug-fixes & Enhancements";
            readonly description: "A running log of fixes and improvements shipping into OpenFrame — recently completed and actively in progress.";
        };
        readonly search: {
            readonly placeholder: "Search tasks...";
            readonly paramKey: "search";
        };
        readonly filter: {
            readonly label: "Type";
            readonly paramKey: "task_type";
            readonly defaultValue: "all";
            readonly options: readonly [{
                readonly value: "all";
                readonly label: "All";
            }, {
                readonly value: "Bug";
                readonly label: "Bug-fix";
            }, {
                readonly value: "Request";
                readonly label: "Enhancement";
            }];
        };
    };
    readonly releases: {
        readonly href: "/releases";
        readonly icon: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
        readonly navigator: {
            readonly title: "Product Releases";
            readonly description: "Version history and release notes.";
        };
        readonly hero: {
            readonly title: "Product Releases";
            readonly description: "Version notes, change summaries, and stability tier (alpha / beta / stable) for every OpenFrame release.";
        };
        readonly search: {
            readonly placeholder: "Search releases...";
            readonly paramKey: "search";
        };
        readonly filter: {
            readonly label: "Status";
            readonly paramKey: "release_status";
            readonly defaultValue: "all";
            readonly options: readonly [{
                readonly value: "alpha";
                readonly label: "Alpha";
                readonly description: "Early development, unstable";
                readonly color: "orange";
            }, {
                readonly value: "beta";
                readonly label: "Beta";
                readonly description: "Feature complete, testing";
                readonly color: "yellow";
            }, {
                readonly value: "stable";
                readonly label: "Stable";
                readonly description: "Production ready";
                readonly color: "green";
            }, {
                readonly value: "deprecated";
                readonly label: "Deprecated";
                readonly description: "No longer supported";
                readonly color: "gray";
            }];
        };
    };
    readonly onboarding: {
        readonly href: "/onboarding-guides";
        readonly icon: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
        readonly navigator: {
            readonly title: "Onboarding Guides";
            readonly description: "Step-by-step product walkthroughs.";
        };
        readonly hero: {
            readonly title: "Getting Started";
            readonly description: "Step-by-step walkthroughs for getting up and running with OpenFrame — from your first device deployment to advanced integrations.";
        };
        readonly search: null;
        readonly filter: null;
    };
    readonly tickets: {
        readonly href: "/tickets";
        readonly icon: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
        readonly navigator: {
            readonly title: "Help Center";
            readonly description: "Open and manage your support tickets.";
        };
        readonly hero: {
            readonly title: "Help Center";
            readonly description: "Open new tickets, follow up on existing ones, and track responses from the team — all in one place.";
        };
        readonly search: {
            readonly placeholder: "Search your tickets...";
            readonly paramKey: "search";
        };
        readonly filter: {
            readonly label: "Status";
            readonly paramKey: "status";
            readonly defaultValue: "all";
            readonly options: readonly [{
                readonly value: "all";
                readonly label: "All";
            }, {
                readonly value: "open";
                readonly label: "Open";
            }, {
                readonly value: "closed";
                readonly label: "Closed";
            }];
        };
    };
};
export type OpenframeDevSectionKey = keyof typeof OPENFRAME_DEV_SECTIONS;
//# sourceMappingURL=openframe-dev-sections.d.ts.map