/// import type { IconProps } from '../icon/index.js'; import { TextProps } from '../text/index.js'; import { LinkRouter, mpcTheme as mpcThemeType } from '../types/index.js'; interface DrawerItemBase { label: string | JSX.Element; type?: 'divider' | 'label' | 'item'; } interface DrawerItem extends DrawerItemBase { type?: undefined; href?: string; name?: string; onClick?: (params: any) => void; icon?: React.ElementType; iconSuffix?: React.ElementType; iconType?: IconProps['type']; iconName?: IconProps['name']; dropdown?: true | 'up' | 'right' | undefined; links?: { label: string | JSX.Element; href?: string; name?: string; onClick?: () => void; }[]; } interface DrawerLinkLabel extends DrawerItemBase { type: 'label'; labelProps: TextProps; } interface DrawerLinkDivider extends DrawerItemBase { type: 'divider'; } type DrawerItems = (DrawerItem | DrawerLinkLabel | DrawerLinkDivider)[]; export type DrawerProps = { label?: string; children?: React.ReactElement; navChildren?: React.ReactElement; active?: string; logo?: React.ElementType; logoHref?: string; router?: LinkRouter; flat?: boolean; /** MP co theme for all states */ mpcTheme?: mpcThemeType; iconLibrary?: IconProps['library']; links: DrawerItems; message?: { label: string; buttonText: string; buttonHref: string; }; footer?: { label: string; subLabel?: string; image: any; links?: { onClick?: () => void; label?: string; href?: string; icon?: React.ElementType; type?: undefined | 'divider'; }[]; }; }; export declare const Links: ({ className, active, router, links, message, mpcTheme, iconLibrary, }: Pick & { className?: string | undefined; links: DrawerProps['links']; active?: DrawerProps['active']; router?: DrawerProps['router']; message?: DrawerProps['message']; mpcTheme?: DrawerProps['mpcTheme']; }) => JSX.Element; declare function Drawer({ flat, children, message, footer, links, logo: Logo, router, logoHref, active, mpcTheme, navChildren, }: DrawerProps): JSX.Element | null; export default Drawer;