import { CSSObject } from 'styled-components'; import { MenuItemActionType, MenuItemVariant } from './types'; import { FoundationTokenType } from '../../tokens/theme.token'; import { BreakpointType } from '../../breakpoints/breakPoints'; export type MenuItemStates = 'default' | 'hover' | 'active' | 'focus' | 'focusVisible' | 'disabled'; export type MenuItemSelectionStates = MenuItemStates | 'selected'; export type MenuItemStateTokens = { [key in MenuItemStates]: T; } & { selected?: T; }; export declare const getMenuItemStateToken: (stateTokens: MenuItemStateTokens, state: MenuItemSelectionStates) => T; export type MenuTokensType = { boxShadow: CSSObject['boxShadow']; backgroundColor: CSSObject['backgroundColor']; padding: { x: CSSObject['padding']; y: CSSObject['padding']; }; border: CSSObject['border']; borderRadius: CSSObject['borderRadius']; item: { padding: { x: CSSObject['padding']; y: CSSObject['padding']; }; margin: { x: CSSObject['margin']; y: CSSObject['margin']; }; borderRadius: CSSObject['borderRadius']; backgroundColor: { [MenuItemVariant.DEFAULT]: { enabled: MenuItemStateTokens; disabled: MenuItemStateTokens; }; [MenuItemVariant.ACTION]: { [key in MenuItemActionType]: { enabled: MenuItemStateTokens; disabled: MenuItemStateTokens; }; }; }; gap: CSSObject['gap']; checkmark?: { position?: 'leading' | 'trailing'; width?: CSSObject['width']; color?: CSSObject['color']; }; optionsLabel: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: CSSObject['color']; padding: { x: CSSObject['padding']; y: CSSObject['padding']; }; margin: { x: CSSObject['margin']; y: CSSObject['margin']; }; }; option: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: { [MenuItemVariant.DEFAULT]: { enabled: MenuItemStateTokens; disabled: MenuItemStateTokens; }; [MenuItemVariant.ACTION]: { [key in MenuItemActionType]: { enabled: MenuItemStateTokens; disabled: MenuItemStateTokens; }; }; }; }; description: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: { [MenuItemVariant.DEFAULT]: { enabled: MenuItemStateTokens; disabled: MenuItemStateTokens; }; [MenuItemVariant.ACTION]: { [key in MenuItemActionType]: { enabled: MenuItemStateTokens; disabled: MenuItemStateTokens; }; }; }; }; seperator: { color: CSSObject['color']; height: CSSObject['height']; margin: { x: CSSObject['margin']; y: CSSObject['margin']; }; }; }; }; export type ResponsiveMenuTokensType = { [key in keyof BreakpointType]: MenuTokensType; }; export declare const getMenuTokens: (foundationToken: FoundationTokenType) => ResponsiveMenuTokensType;