import type { CSSProperties, VNodeTypes } from 'vue'

import type { Key } from '../_util/type'

export type RenderFunc<T> = (item: T, index: number, props: { style?: CSSProperties }) => VNodeTypes

export interface SharedConfig<T> {
  getKey: (item: T) => Key
}

export type GetKey<T = object> = (item: T) => Key
