import { ReactNode } from 'react'; import { Locale } from '@/_locale/interface'; import { ImageProps } from '@/image/interface'; import { IconProps } from '@/icon/interface'; import { GeoJSONProps } from '@/geojson/interface'; import { GridProps } from '@/grid/interface'; import { SpaceProps } from '@/space/interface'; import { EuiTokenProviderProps } from '@/_theme/interface'; import { ButtonProps } from '@/button/interface'; import { DividerProps } from '@/divider/interface'; import { WatermarkProps } from '@/watermark/interface'; import { SpinProps } from '@/spin/interface'; import { ModalProps } from '@/modal/interface'; import { BacktopProps } from '@/backtop/interface'; import { DrawerProps } from '@/drawer/interface'; import { MessageProps } from '@/message/interface'; import { NotificationProps } from '@/notification/interface'; import { DocumentProps } from '@/document/interface'; import { LinkProps } from '@/link/interface'; import { CopyProps } from '@/copy/interface'; import { AlertProps } from '@/alert/interface'; import { AppProps } from '@/app/interface'; import { TagProps } from '@/tag/interface'; import { EmptyProps } from '@/empty/interface'; import { DescriptionProps } from '@/description/interface'; export type Size = 'mini' | 'small' | 'medium' | 'large'; export type Components = { App?: AppProps; Alert?: AlertProps; Backtop?: BacktopProps; Button?: ButtonProps; Copy?: CopyProps; Grid?: GridProps; Divider?: DividerProps; Drawer?: DrawerProps; Message?: MessageProps; Notification?: NotificationProps; Modal?: ModalProps; Image?: ImageProps; Icon?: IconProps; Link?: LinkProps; Document?: DocumentProps; GeoJSON?: GeoJSONProps; Space?: SpaceProps; Spin?: SpinProps; Watermark?: WatermarkProps; Tag?: TagProps; Empty?: EmptyProps; Description: DescriptionProps; }; export interface ConfigProviderProps { components?: Components; locales?: { [key: string]: Locale; }; locale?: Locale; theme?: EuiTokenProviderProps; size?: Size; rtl?: boolean; prefixCls?: string; getPrefixCls?: (componentName?: string) => string; children?: ReactNode; scheme?: EuiTokenProviderProps['scheme']; }