import * as React from 'react'; import { SelectChangeEvent, SelectProps } from '@mui/material/Select'; import { SxProps, Theme } from '@mui/material/styles'; import { ZTooltipProps } from '../ZTooltip/ZTooltip'; import { ZIconProps } from '../ZIcons/ZIcons'; export interface SelectEmptyProps { label?: React.ReactNode; component?: React.ReactNode; classes?: { root?: string; img?: string; text?: string; }; } export type ZSelectorProps = Omit & { autoWidth?: boolean; placeholder?: string; options: OptionType[]; onChange: (arg0: any) => any; onSelectChange?: (event: SelectChangeEvent, data: any) => void; onClose?: (event: object) => void; onOpen?: (event: object) => void; defaultOpen?: boolean; disabled?: boolean; label?: React.ReactNode; IconComponent?: (props: ZIconProps) => JSX.Element; maxWidth?: number; sxProps?: { sxRoot?: SxProps; sxLabel?: SxProps; sxSelectContainer?: SxProps; sxSelect?: SxProps; sxPlaceHolder?: SxProps; sxMenu?: SxProps; sxMenuItem?: SxProps; }; classes?: { root?: string; label?: string; container?: string; select?: string; placeholder?: string; }; empty?: SelectEmptyProps; selectorTooltip?: Partial; endAdornment?: string | React.ReactNode; autoMenuPosition?: boolean; loading?: boolean; loadingComponent?: React.ReactNode; }; export declare enum IconPositionEnum { Left = "left", Right = "right" } export type OptionType = { id?: number | string; value: string | number; label: React.ReactNode; icon?: JSX.Element; iconPosition?: IconPositionEnum; disabled?: boolean; generateCustomEle?: () => JSX.Element; tooltip?: ZTooltipProps; handleClick?: (event: React.MouseEvent) => void; }; export declare const ZSelector: React.ForwardRefExoticComponent & React.RefAttributes>;