import React from 'react'; declare type CustomizeComponent = React.FC; export interface TableComponents { table?: CustomizeComponent; header?: { wrapper?: CustomizeComponent; row?: CustomizeComponent; cell?: CustomizeComponent; }; body?: { wrapper?: CustomizeComponent; row?: CustomizeComponent; cell?: CustomizeComponent; }; } export interface vt_opts { id?: number; /** * @default 5 */ overscanRowCount?: number; /** * this only needs the scroll.y */ scroll: { y: number | string; }; /** * wheel event(only works on native events). */ onScroll?: ({ left, top, isEnd, }: { top: number; left: number; isEnd: boolean; }) => void; initTop?: number; /** * @default false */ debug?: boolean; ref?: React.MutableRefObject<{ scrollTo: (y: number) => void; scrollToIndex: (idx: number) => void; getDataSourceIndex: () => [startIndex: number, endIndex: number]; }>; } /** * `INIT` -> `LOADED` -> `RUNNING` */ declare enum e_VT_STATE { INIT = 1, LOADED = 2, RUNNING = 4 } interface VT_CONTEXT extends vt_opts { _y: number; _raw_y: number | string; _vtcomponents: TableComponents; components: TableComponents; vt_state: e_VT_STATE; possible_hight_per_tr: number; re_computed: number; row_height: number[]; row_count: number; prev_row_count: number; wrap_inst: React.RefObject; VTScroll?: (param?: { top: number; left: number; }) => { top: number; left: number; }; _React_ptr: any; computed_h: number; WH: number; HND_PAINT: number; _offset_top: number; _offset_head: number; _offset_tail: number; top: number; left: number; evt: number; end: boolean; final_top: number; f_final_top: number; update_count: number; } export declare function _set_components(ctx: VT_CONTEXT, components: TableComponents): void; export declare function init(fnOpts: () => vt_opts, deps: React.DependencyList): VT_CONTEXT; export {};