import { useCache } from '../hooks/use-cache'; import { BACKWARD, FORWARD } from '../defaults'; import type { CSSProperties, Ref, StyleValue, UnwrapRef, VNode } from 'vue'; import type { Alignment, GridConstructorProps, GridScrollOptions } from '../types'; import type { VirtualizedGridProps } from '../props'; declare const createGrid: ({ name, clearCache, getColumnPosition, getColumnStartIndexForOffset, getColumnStopIndexForStartIndex, getEstimatedTotalHeight, getEstimatedTotalWidth, getColumnOffset, getRowOffset, getRowPosition, getRowStartIndexForOffset, getRowStopIndexForStartIndex, initCache, injectToInstance, validateProps, }: GridConstructorProps) => import("vue").DefineComponent<{ readonly className: import("element-plus/es/utils").EpPropFinalized; readonly containerElement: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | Element) | (() => string | Element) | ((new (...args: any[]) => string | Element) | (() => string | Element))[], unknown, unknown, "div", boolean>; readonly data: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => any[]) | (() => any[]) | ((new (...args: any[]) => any[]) | (() => any[]))[], unknown, unknown, () => [], boolean>; readonly direction: import("element-plus/es/utils").EpPropFinalized; readonly height: { readonly type: import("vue").PropType>; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly innerElement: import("element-plus/es/utils").EpPropFinalized; readonly style: { readonly type: import("vue").PropType string | CSSProperties | StyleValue[]) | (() => StyleValue) | ((new (...args: any[]) => string | CSSProperties | StyleValue[]) | (() => StyleValue))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly useIsScrolling: import("element-plus/es/utils").EpPropFinalized; readonly width: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly perfMode: import("element-plus/es/utils").EpPropFinalized; readonly scrollbarAlwaysOn: import("element-plus/es/utils").EpPropFinalized; readonly columnCache: import("element-plus/es/utils").EpPropFinalized; readonly columnWidth: { readonly type: import("vue").PropType number | import("../types").ItemSize) | (() => number | import("../types").ItemSize) | ((new (...args: any[]) => number | import("../types").ItemSize) | (() => number | import("../types").ItemSize))[], never, never>>; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly estimatedColumnWidth: { readonly type: import("vue").PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly estimatedRowHeight: { readonly type: import("vue").PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly initScrollLeft: import("element-plus/es/utils").EpPropFinalized; readonly initScrollTop: import("element-plus/es/utils").EpPropFinalized; readonly itemKey: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("../types").GridItemKeyGetter) | (() => import("../types").GridItemKeyGetter) | { (): import("../types").GridItemKeyGetter; new (): any; readonly prototype: any; } | ((new (...args: any[]) => import("../types").GridItemKeyGetter) | (() => import("../types").GridItemKeyGetter) | { (): import("../types").GridItemKeyGetter; new (): any; readonly prototype: any; })[], unknown, unknown, ({ columnIndex, rowIndex, }: { columnIndex: number; rowIndex: number; }) => string, boolean>; readonly rowCache: import("element-plus/es/utils").EpPropFinalized; readonly rowHeight: { readonly type: import("vue").PropType number | import("../types").ItemSize) | (() => number | import("../types").ItemSize) | ((new (...args: any[]) => number | import("../types").ItemSize) | (() => number | import("../types").ItemSize))[], never, never>>; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly totalColumn: { readonly type: import("vue").PropType; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly totalRow: { readonly type: import("vue").PropType; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly hScrollbarSize: import("element-plus/es/utils").EpPropFinalized; readonly vScrollbarSize: import("element-plus/es/utils").EpPropFinalized; readonly scrollbarStartGap: import("element-plus/es/utils").EpPropFinalized; readonly scrollbarEndGap: import("element-plus/es/utils").EpPropFinalized; readonly role: StringConstructor; }, () => VNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "itemRendered")[], "scroll" | "itemRendered", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; readonly containerElement: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | Element) | (() => string | Element) | ((new (...args: any[]) => string | Element) | (() => string | Element))[], unknown, unknown, "div", boolean>; readonly data: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => any[]) | (() => any[]) | ((new (...args: any[]) => any[]) | (() => any[]))[], unknown, unknown, () => [], boolean>; readonly direction: import("element-plus/es/utils").EpPropFinalized; readonly height: { readonly type: import("vue").PropType>; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly innerElement: import("element-plus/es/utils").EpPropFinalized; readonly style: { readonly type: import("vue").PropType string | CSSProperties | StyleValue[]) | (() => StyleValue) | ((new (...args: any[]) => string | CSSProperties | StyleValue[]) | (() => StyleValue))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly useIsScrolling: import("element-plus/es/utils").EpPropFinalized; readonly width: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly perfMode: import("element-plus/es/utils").EpPropFinalized; readonly scrollbarAlwaysOn: import("element-plus/es/utils").EpPropFinalized; readonly columnCache: import("element-plus/es/utils").EpPropFinalized; readonly columnWidth: { readonly type: import("vue").PropType number | import("../types").ItemSize) | (() => number | import("../types").ItemSize) | ((new (...args: any[]) => number | import("../types").ItemSize) | (() => number | import("../types").ItemSize))[], never, never>>; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly estimatedColumnWidth: { readonly type: import("vue").PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly estimatedRowHeight: { readonly type: import("vue").PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly initScrollLeft: import("element-plus/es/utils").EpPropFinalized; readonly initScrollTop: import("element-plus/es/utils").EpPropFinalized; readonly itemKey: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("../types").GridItemKeyGetter) | (() => import("../types").GridItemKeyGetter) | { (): import("../types").GridItemKeyGetter; new (): any; readonly prototype: any; } | ((new (...args: any[]) => import("../types").GridItemKeyGetter) | (() => import("../types").GridItemKeyGetter) | { (): import("../types").GridItemKeyGetter; new (): any; readonly prototype: any; })[], unknown, unknown, ({ columnIndex, rowIndex, }: { columnIndex: number; rowIndex: number; }) => string, boolean>; readonly rowCache: import("element-plus/es/utils").EpPropFinalized; readonly rowHeight: { readonly type: import("vue").PropType number | import("../types").ItemSize) | (() => number | import("../types").ItemSize) | ((new (...args: any[]) => number | import("../types").ItemSize) | (() => number | import("../types").ItemSize))[], never, never>>; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly totalColumn: { readonly type: import("vue").PropType; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly totalRow: { readonly type: import("vue").PropType; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly hScrollbarSize: import("element-plus/es/utils").EpPropFinalized; readonly vScrollbarSize: import("element-plus/es/utils").EpPropFinalized; readonly scrollbarStartGap: import("element-plus/es/utils").EpPropFinalized; readonly scrollbarEndGap: import("element-plus/es/utils").EpPropFinalized; readonly role: StringConstructor; }>> & { onScroll?: ((...args: any[]) => any) | undefined; onItemRendered?: ((...args: any[]) => any) | undefined; }, { readonly data: any[]; readonly direction: import("element-plus/es/utils").EpPropMergeType; readonly className: string; readonly containerElement: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | Element) | (() => string | Element) | ((new (...args: any[]) => string | Element) | (() => string | Element))[], unknown, unknown>; readonly innerElement: import("element-plus/es/utils").EpPropMergeType; readonly useIsScrolling: import("element-plus/es/utils").EpPropMergeType; readonly perfMode: import("element-plus/es/utils").EpPropMergeType; readonly scrollbarAlwaysOn: import("element-plus/es/utils").EpPropMergeType; readonly itemKey: import("../types").GridItemKeyGetter; readonly columnCache: number; readonly initScrollLeft: number; readonly initScrollTop: number; readonly rowCache: number; readonly hScrollbarSize: number; readonly vScrollbarSize: number; readonly scrollbarStartGap: number; readonly scrollbarEndGap: number; }>; export default createGrid; type Dir = typeof FORWARD | typeof BACKWARD; export type GridInstance = InstanceType> & UnwrapRef<{ windowRef: Ref; innerRef: Ref; getItemStyleCache: ReturnType; scrollTo: (scrollOptions: GridScrollOptions) => void; scrollToItem: (rowIndex: number, columnIndex: number, alignment: Alignment) => void; states: Ref<{ isScrolling: boolean; scrollLeft: number; scrollTop: number; updateRequested: boolean; xAxisScrollDir: Dir; yAxisScrollDir: Dir; }>; }>;