import type { Ref, ReactNode, MouseEventHandler } from 'react';
import type { ButtonProps } from '../Button';
import type { Action, ForwardProps, ForwardRefForwardPropsComponent } from '../../types';
export interface NavItemType extends ForwardProps {
    text: string;
    active?: boolean;
    onClick?: MouseEventHandler;
    href?: string;
}
export interface NavGroupType {
    title?: string;
    items: NavItemType[];
}
export interface PageAction extends Pick<Action, 'id' | 'icon' | 'href' | 'onClick' | 'disabled'>, Pick<ButtonProps, 'variant' | 'label' | 'aria-label' | 'loading'>, ForwardProps {
    /** Optional text to replace required text string in Action type */
    text?: string;
}
export interface TemplateProps {
    /** Indicates that the primary view for the page cannot yet be rendered */
    /** @default false */
    viewLoading?: boolean;
    /** Parent Category of page and all navigation items */
    category: string;
    /** Parent Category icon */
    categoryIcon?: string;
    navItemGroups: NavGroupType[];
    pageTitle?: string;
    /** Actions to render in fixed page header. Ordered by priority */
    pageActions?: PageAction[];
    /** Maximum top-level action buttons to render in header. Actions passed exceeding this limit will render in an action menu. */
    /** @default 3 */
    maxActions?: number;
    /** Primary page content region */
    region: ReactNode;
    /** Ref forwarded to the wrapping element. */
    ref?: Ref<HTMLDivElement>;
}
declare const CategorySubPage: ForwardRefForwardPropsComponent<TemplateProps>;
export default CategorySubPage;
//# sourceMappingURL=CategorySubPage.d.ts.map