import type { PropType, Ref, VNodeChild } from 'vue'; import type { ExtractPublicPropTypes } from '../../_utils'; export type Size = 'small' | 'medium' | 'large'; export interface BooleanProp { type: BooleanConstructor; default: undefined; } export type RenderableType = () => VNodeChild; export interface RenderableProp { type: PropType; default: undefined; } export interface ListItemPropsBoolean { showIcon: BooleanProp; descriptionFirst: BooleanProp; columnsEven: BooleanProp; hoverable: BooleanProp; rounded: BooleanProp; disabled: BooleanProp; loading: BooleanProp; loadingSkeleton: BooleanProp; } export interface ListItemPropsRenderable { header: RenderableProp; description: RenderableProp; headerSide: RenderableProp; descriptionSide: RenderableProp; icon: RenderableProp; avatar: RenderableProp; } export type ExtractIntoInjection = { [P in keyof ExtractPublicPropTypes]-?: Ref[P] | undefined>; }; export type ListInjectionBoolean = Record>; export type ListInjectionRenderable = Record>;