import { useCache } from '../hooks/use-cache'; import { BACKWARD, FORWARD } from '../defaults'; import type { 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("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly containerElement: import("@inte-cloud/lit-element/es/utils").EpPropFinalized<(new (...args: any[]) => (string | Element) & {}) | (() => string | Element) | ((new (...args: any[]) => (string | Element) & {}) | (() => string | Element))[], unknown, unknown, "div", boolean>; readonly data: import("@inte-cloud/lit-element/es/utils").EpPropFinalized<(new (...args: any[]) => any[]) | (() => any[]) | ((new (...args: any[]) => any[]) | (() => any[]))[], unknown, unknown, () => [], boolean>; readonly direction: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly height: { readonly type: import("vue").PropType>; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly innerElement: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly style: { readonly type: import("vue").PropType StyleValue & {}) | (() => StyleValue) | ((new (...args: any[]) => StyleValue & {}) | (() => StyleValue))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly useIsScrolling: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly width: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly perfMode: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly scrollbarAlwaysOn: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly columnCache: import("@inte-cloud/lit-element/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("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly initScrollTop: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly itemKey: import("@inte-cloud/lit-element/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("@inte-cloud/lit-element/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("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly vScrollbarSize: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly scrollbarStartGap: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly scrollbarEndGap: import("@inte-cloud/lit-element/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("@inte-cloud/lit-element/es/utils").EpPropFinalized<(new (...args: any[]) => (string | Element) & {}) | (() => string | Element) | ((new (...args: any[]) => (string | Element) & {}) | (() => string | Element))[], unknown, unknown, "div", boolean>; readonly data: import("@inte-cloud/lit-element/es/utils").EpPropFinalized<(new (...args: any[]) => any[]) | (() => any[]) | ((new (...args: any[]) => any[]) | (() => any[]))[], unknown, unknown, () => [], boolean>; readonly direction: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly height: { readonly type: import("vue").PropType>; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly innerElement: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly style: { readonly type: import("vue").PropType StyleValue & {}) | (() => StyleValue) | ((new (...args: any[]) => StyleValue & {}) | (() => StyleValue))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly useIsScrolling: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly width: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly perfMode: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly scrollbarAlwaysOn: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly columnCache: import("@inte-cloud/lit-element/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("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly initScrollTop: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly itemKey: import("@inte-cloud/lit-element/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("@inte-cloud/lit-element/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("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly vScrollbarSize: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly scrollbarStartGap: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly scrollbarEndGap: import("@inte-cloud/lit-element/es/utils").EpPropFinalized; readonly role: StringConstructor; }>> & { onScroll?: ((...args: any[]) => any) | undefined; onItemRendered?: ((...args: any[]) => any) | undefined; }, { readonly data: any[]; readonly direction: import("@inte-cloud/lit-element/es/utils").EpPropMergeType; readonly className: string; readonly containerElement: import("@inte-cloud/lit-element/es/utils").EpPropMergeType<(new (...args: any[]) => (string | Element) & {}) | (() => string | Element) | ((new (...args: any[]) => (string | Element) & {}) | (() => string | Element))[], unknown, unknown>; readonly scrollbarAlwaysOn: import("@inte-cloud/lit-element/es/utils").EpPropMergeType; readonly innerElement: import("@inte-cloud/lit-element/es/utils").EpPropMergeType; readonly useIsScrolling: import("@inte-cloud/lit-element/es/utils").EpPropMergeType; readonly perfMode: import("@inte-cloud/lit-element/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; declare type Dir = typeof FORWARD | typeof BACKWARD; export declare 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; }>; }>;