declare type VNode = import('vue').VNode;
export declare type ScopedSlot = () => SlotReturnValue;
export declare type SlotReturnValue = VNode | string | boolean | null | undefined | SlotReturnArray;
export declare type SlotReturnArray = Array<SlotReturnValue>;
export interface TVNode extends VNode {
    name: string;
}
export declare type TNodeReturnValue = SlotReturnValue;
export declare type TNode<T = undefined> = T extends undefined ? (h: typeof import('vue').h) => TNodeReturnValue : (h: typeof import('vue').h, props: T) => 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 {
    onDrop?: (event: DragEvent) => void;
    onDragenter?: (event: DragEvent) => void;
    onDragover?: (event: DragEvent) => void;
    onDragleave?: (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 InfinityScroll {
    bufferSize?: number;
    isFixedRowHeight?: boolean;
    rowHeight?: number;
    threshold?: number;
    type: 'lazy' | 'virtual';
}
export declare type TScroll = InfinityScroll;
export interface ScrollToElementParams {
    index: number;
    top?: number;
    time?: number;
    behavior?: 'auto' | 'smooth';
}
export {};
