import React from 'react'; import { type VariantProps } from 'class-variance-authority'; import { type GlassVariant } from '../../../lib/glass'; import { DropdownMenuItem } from './DropdownMenuItem'; import { type SegmentedTabItem as SegmentedTabItemType } from '../SegmentedTabs'; import { DropdownMenuList } from './DropdownMenuList'; import { DropdownMenuSearch } from './DropdownMenuSearch'; import { DropdownMenuSeparator } from './DropdownMenuSeparator'; import { DropdownMenuLabel } from './DropdownMenuLabel'; import type { ComposableProps } from '../../../lib/slot'; declare const dropdownMenuVariants: (props?: ({ property?: "default" | "search" | "search-segmented" | "disabled-info" | "groups" | null | undefined; } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string; export interface DropdownMenuProps extends Omit, 'onSelect' | 'property'> { /** * Menu property type * @default 'default' */ property?: VariantProps['property']; /** * Show scroll bar * @default false */ showScrollBar?: boolean; /** * Additional CSS classes */ className?: string; /** * Select handler */ onSelect?: (value: string) => void; /** * Segments for segmented search */ segments?: SegmentedTabItemType[]; /** * Selected segment */ selectedSegment?: string; /** * Segment change handler */ onSegmentChange?: (value: string) => void; /** * DropdownMenu content (for composable API) */ children?: React.ReactNode; /** * Glass morphism variant */ glass?: GlassVariant; } /** * DropdownMenu Component * * A dropdown menu component with options, search, and groups support. * Uses a composable API with sub-components for maximum flexibility. * * @public * * @example * ```tsx * * * * Option 1 * * Option 2 * * * ``` * * @remarks * - Composable API provides maximum flexibility and control * - All sub-components (DropdownMenuList, DropdownMenuItem, etc.) support `asChild` * - Supports search, groups, segmented tabs, and keyboard navigation */ declare const DropdownMenuBase: React.ForwardRefExoticComponent>; type DropdownMenuWithSubcomponents = typeof DropdownMenuBase & { DropdownMenuItem: typeof DropdownMenuItem; DropdownMenuLabel: typeof DropdownMenuLabel; DropdownMenuSeparator: typeof DropdownMenuSeparator; DropdownMenuList: typeof DropdownMenuList; DropdownMenuSearch: typeof DropdownMenuSearch; }; declare const DropdownMenu: DropdownMenuWithSubcomponents; export { DropdownMenu }; export default DropdownMenu; //# sourceMappingURL=DropdownMenu.d.ts.map