export declare type TNodeReturnValue = import('vue/types/vnode').ScopedSlotReturnValue;
export declare type TNode<T = undefined> = T extends undefined ? (h: Vue.CreateElement) => TNodeReturnValue : (h: Vue.CreateElement, props: T) => TNodeReturnValue;
export declare type JsxNode = TNodeReturnValue;
export declare type AttachNodeReturnValue = HTMLElement | Element | Document;
export declare type AttachNode = CSSSelector | ((triggerNode?: HTMLElement) => AttachNodeReturnValue);
export declare type ScrollContainerElement = Window | HTMLElement;
export declare type ScrollContainer = (() => ScrollContainerElement) | CSSSelector;
export declare type ComponentType = any;
export declare type FormResetEvent = Event;
export declare type FormSubmitEvent = Event;
export interface Styles {
    [css: string]: string | number;
}
export interface UploadDisplayDragEvents {
    drop?: (event: DragEvent) => void;
    dragenter?: (event: DragEvent) => void;
    dragover?: (event: DragEvent) => void;
    dragleave?: (event: DragEvent) => void;
}
export declare type ImageEvent = Event;
export interface PlainObject {
    [key: string]: any;
}
export declare type OptionData = {
    label?: string;
    value?: string | number;
} & PlainObject;
export declare type TreeOptionData<T = string | number> = {
    children?: Array<TreeOptionData<T>>;
    label?: string | TNode;
    text?: string;
    value?: T;
} & PlainObject;
export declare type SizeEnum = 'small' | 'medium' | 'large';
export declare type HorizontalAlignEnum = 'left' | 'center' | 'right';
export declare type VerticalAlignEnum = 'top' | 'middle' | 'bottom';
export declare type ClassName = {
    [className: string]: any;
} | ClassName[] | string;
export declare type CSSSelector = 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';
}
export declare type InfinityScroll = TScroll;
export interface ScrollToElementParams {
    index: number;
    top?: number;
    time?: number;
    behavior?: 'auto' | 'smooth';
}
