import { Vnode } from 'mithril' export interface ComponentAttrs { className?: string style?: string id?: string key?: string | number onclick?: (e: MouseEvent) => void oncreate?: (vnode: Vnode) => void onupdate?: (vnode: Vnode) => void onremove?: (vnode: Vnode) => void onbeforeremove?: (vnode: Vnode) => void | Promise onbeforeupdate?: (vnode: Vnode, old: Vnode) => boolean | void } export type PumSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' export type PumColor = 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error' export type PumStyle = 'outline' | 'dash' | 'soft' | 'ghost' | 'link'