export type LNodeReturnValue = import('vue/types/vnode').ScopedSlotReturnValue;
export type LNode<T = undefined> = T extends undefined ? (h: Vue.CreateElement) => LNodeReturnValue : (h: Vue.CreateElement, props: T) => LNodeReturnValue;
export type JsxNode = LNodeReturnValue;
export type CSSSelector = string;
export type AttachNodeReturnValue = HTMLElement | Element | Document;
export type AttachNode = CSSSelector | ((triggerNode?: HTMLElement) => AttachNodeReturnValue);
export type ScrollContainerElement = Window | HTMLElement;
export type ScrollContainer = (() => ScrollContainerElement) | CSSSelector;
export type ComponentType = any;
export type FormResetEvent = Event;
export type FormSubmitEvent = Event;
export interface Styles {
    [css: string]: string | number;
}
export type OptionData = {
    label?: string;
    value?: string | number;
} & {
    [key: string]: any;
};
export type TreeOptionData = {
    children?: Array<TreeOptionData>;
} & OptionData;
export type SizeType = 'small' | 'medium' | 'large';
export type HorizontalAlignEnum = 'left' | 'center' | 'right';
export type VerticalAlignEnum = 'top' | 'middle' | 'bottom';
export type ClassName = {
    [className: string]: any;
} | ClassName[] | string;
export interface KeysType {
    value?: string;
    label?: string;
}
export interface HTMLElementAttributes {
    [css: string]: string;
}
export interface TScroll {
    bufferSize?: number;
    isFixedRowHeight?: boolean;
    rowHeight?: number;
    threshold?: number;
    type: 'lazy' | 'virtual';
}
