import type { PropType, VNodeChild } from 'vue'; import type { BuiltinType, BuiltinTypeMap, ComponentConfig } from '../../_internal/component-renderer'; import type { ExtractPublicPropTypes } from '../../_utils'; import type { ButtonProps } from '../../button'; import type { EmptyProps } from '../../empty'; import type { IconProps } from '../../icon'; import type { PaginationProps } from '../../pagination'; import type { SwitchProps } from '../../switch'; interface MappingRowItemBase { span?: number; } type MappingRowItemTyped = { [T in BuiltinType]: MappingRowItemBase & { type: T; params?: BuiltinTypeMap[T]; slots?: Record; render?: never; }; }[BuiltinType]; type MappingRowItemCustom = MappingRowItemBase & { type?: never; params?: never; slots?: never; render: () => VNodeChild; }; export type MappingRowItem = MappingRowItemTyped | MappingRowItemCustom; export interface MappingRow { id?: string; icon?: () => VNodeChild; items: MappingRowItem[]; } export interface MappingCardInterface { title: string | (() => VNodeChild); description: string | (() => VNodeChild); subTitle?: string | (() => VNodeChild); subDescription?: string | (() => VNodeChild); headerInfo?: () => VNodeChild; headerSubInfo?: () => VNodeChild; rows: MappingRow[]; cols?: number; defaultSpan?: number; copy?: () => string; hideCopy?: boolean; hideHeaderActions?: boolean; copyButtonProps?: Partial; copyIconProps?: Partial; headerEditButtonProps?: Partial; headerEditIconProps?: Partial; headerEditIcon?: () => VNodeChild; headerDeleteButtonProps?: Partial; headerDeleteIconProps?: Partial; headerDeleteIcon?: () => VNodeChild; headerSwitchProps?: Partial; onCopy?: () => void; onEdit?: () => void; onDelete?: () => void; onSwitchChange?: (value: boolean) => void; } export interface MappingCardListInterface { items?: MappingCardProps[]; pagination?: PaginationProps | false; gap?: number; emptyProps?: Partial; } export declare const mappingCardProps: { readonly title: PropType; readonly description: PropType; readonly subTitle: PropType; readonly subDescription: PropType; readonly headerInfo: PropType; readonly headerSubInfo: PropType; readonly rows: PropType; readonly cols: { readonly type: PropType; readonly default: 3; }; readonly defaultSpan: { readonly type: PropType; readonly default: 1; }; readonly copy: PropType; readonly hideCopy: { readonly type: PropType; readonly default: false; }; readonly hideHeaderActions: { readonly type: PropType; readonly default: false; }; readonly copyButtonProps: PropType; readonly copyIconProps: PropType; readonly headerEditButtonProps: PropType; readonly headerEditIconProps: PropType; readonly headerEditIcon: PropType; readonly headerDeleteButtonProps: PropType; readonly headerDeleteIconProps: PropType; readonly headerDeleteIcon: PropType; readonly headerSwitchProps: PropType; readonly onCopy: PropType; readonly onEdit: PropType; readonly onDelete: PropType; readonly onSwitchChange: PropType; }; export declare const mappingCardListProps: { readonly items: { readonly type: PropType; readonly default: () => never[]; }; readonly pagination: { readonly type: PropType; readonly default: false; }; readonly gap: { readonly type: NumberConstructor; readonly default: 16; }; readonly emptyProps: PropType>; }; export type MappingCardProps = ExtractPublicPropTypes; export type MappingCardListProps = ExtractPublicPropTypes; export {};