import { DocsBreadcrumbItem } from '../../molecules/docs-breadcrumb/types';
/**
 * Configuration for the docs-page component.
 */
export interface DocsPageMetadata {
    /**
     * Page title displayed as h1.
     */
    title: string;
    /**
     * Breadcrumb navigation items.
     * When provided, shows breadcrumb above the title.
     */
    breadcrumb?: {
        /** Breadcrumb items (last item is current page) */
        items: DocsBreadcrumbItem[];
        /** Show home icon at start @default true */
        showHome?: boolean;
        /** Custom home route @default ['/'] */
        homeRoute?: string[];
    };
    /**
     * Lead paragraph below the title.
     */
    lead?: string;
    /**
     * Optional badge displayed next to title (e.g., "New", "Updated", "Beta").
     */
    badge?: string;
    /**
     * Badge color variant.
     * @default 'default'
     */
    badgeColor?: 'default' | 'success' | 'warning' | 'danger';
    /**
     * Previous page for navigation.
     */
    previousPage?: DocsPageLink;
    /**
     * Next page for navigation.
     */
    nextPage?: DocsPageLink;
    /**
     * i18n labels for navigation.
     */
    navLabels?: {
        previous?: string;
        next?: string;
    };
    /**
     * TOC configuration.
     */
    toc?: {
        /**
         * TOC title.
         * @default 'On this page'
         */
        title?: string;
        /**
         * Hide the TOC.
         * @default false
         */
        hide?: boolean;
    };
    /**
     * Custom CSS class.
     */
    cssClass?: string;
    /**
     * Feedback/reaction widget configuration.
     * When enabled, shows a "Was this page helpful?" reaction widget.
     */
    feedback?: DocsPageFeedbackConfig;
}
/**
 * Configuration for the feedback reaction widget.
 */
export interface DocsPageFeedbackConfig {
    /**
     * Enable the feedback widget.
     */
    enabled: boolean;
    /**
     * Entity type for categorizing feedback.
     * @default 'docs-page'
     */
    entityType?: string;
    /**
     * Entity ID for this page. If not provided, derives from current route.
     * @example 'components-button', 'guides-theming'
     */
    entityId?: string;
    /**
     * Custom question text. If not provided, uses i18n default.
     * @example '¿Te resultó útil esta página?'
     */
    question?: string;
    /**
     * Allow anonymous (unauthenticated) feedback.
     * @default true
     */
    allowAnonymous?: boolean;
    /**
     * Show optional comment field after reaction.
     * @default true
     */
    showComment?: boolean;
}
/**
 * Link to another documentation page.
 */
export interface DocsPageLink {
    /**
     * Display title for the link.
     */
    title: string;
    /**
     * Route array for navigation.
     */
    route: string[];
}
