///
import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';
import type { Page } from 'puppeteer';
export declare function InfiniteScrollTableUniDriver(base: UniDriver, body: UniDriver): {
/**
* Wait until root element to exist
* @param timeout - time to wait until bailing
*/
wait: (timeout?: number) => Promise;
/** Wait for the initial fetch loader to be shown */
waitInitialLoader: (timeout?: number) => Promise;
/** Wait for the initial fetch loader to be removed */
waitInitialLoaderRemoved: (timeout?: number, delay?: number) => Promise;
/** Indicates whether initial loader is in loading status */
isInitialLoaderLoading: () => Promise;
/** Indicates whether initial loader exists */
initialLoaderExists: () => Promise;
/** Wait for the infinite scroll loader to be shown */
waitInfiniteScrollLoader: (timeout?: number) => Promise;
/** Indicates whether infinite scroll loader is in loading status */
isInfiniteScrollLoaderLoading: () => Promise;
/** Indicates whether infinite scroll loader exists */
infiniteScrollLoaderExists: () => Promise;
getInfiniteScrollLoaderStatusMessage: () => Promise;
getErrorStateByDataHook: (dataHook?: string) => {
getButtonByDataHook: (dataHook: string) => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
getRetryButton: () => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
getTitleText: () => Promise;
getSubtitleText: () => Promise;
hasTheme: (themeName: import("@wix/design-system").EmptyStateTheme) => Promise;
getImageUrl: () => (name: string) => Promise;
getImageContainerClassName: () => Promise;
imageNodeExists: () => Promise;
childrenContentExists: () => Promise;
hasAlign: (align: import("@wix/design-system").EmptyStateAlign) => Promise;
exists: () => Promise;
element: () => Promise;
click: () => Promise;
};
/** Get initial error state before table renders */
getCardErrorStateByDataHook: (dataHook?: string) => {
getButtonByDataHook: (dataHook: string) => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
getRetryButton: () => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
getTitleText: () => Promise;
getSubtitleText: () => Promise;
hasTheme: (themeName: import("@wix/design-system").EmptyStateTheme) => Promise;
getImageUrl: () => (name: string) => Promise;
getImageContainerClassName: () => Promise;
imageNodeExists: () => Promise;
childrenContentExists: () => Promise;
hasAlign: (align: import("@wix/design-system").EmptyStateAlign) => Promise;
exists: () => Promise;
element: () => Promise;
click: () => Promise;
};
/** Get empty state within the table that by a specific data hook */
getEmptyStateByDataHook: (dataHook?: string) => {
getNewItemButton: () => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
getImageAddItem: () => import("@wix/design-system/dist/types/Image/Image.uni.driver").ImageUniDriver;
wait: (timeout?: number | undefined) => Promise;
getClearFiltersButton: () => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
getImageGlassArt: () => import("@wix/design-system/dist/types/Image/Image.uni.driver").ImageUniDriver;
getTitleText: () => Promise;
getSubtitleText: () => Promise;
hasTheme: (themeName: import("@wix/design-system").EmptyStateTheme) => Promise;
getImageUrl: () => (name: string) => Promise;
getImageContainerClassName: () => Promise;
imageNodeExists: () => Promise;
childrenContentExists: () => Promise;
hasAlign: (align: import("@wix/design-system").EmptyStateAlign) => Promise;
exists: () => Promise;
element: () => Promise;
click: () => Promise;
};
getTableDefaultEmptyState: () => {
getNewItemButton: () => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
getImageAddItem: () => import("@wix/design-system/dist/types/Image/Image.uni.driver").ImageUniDriver;
wait: (timeout?: number | undefined) => Promise;
getClearFiltersButton: () => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
getImageGlassArt: () => import("@wix/design-system/dist/types/Image/Image.uni.driver").ImageUniDriver;
getTitleText: () => Promise;
getSubtitleText: () => Promise;
hasTheme: (themeName: import("@wix/design-system").EmptyStateTheme) => Promise;
getImageUrl: () => (name: string) => Promise;
getImageContainerClassName: () => Promise;
imageNodeExists: () => Promise;
childrenContentExists: () => Promise;
hasAlign: (align: import("@wix/design-system").EmptyStateAlign) => Promise;
exists: () => Promise;
element: () => Promise;
click: () => Promise;
};
/** Get premium empty state within the table that by a specific data hook */
getPremiumEmptyStateByDataHook: (dataHook: string) => {
getButton: () => {
getButtonTextContent: () => Promise;
isFocused: () => Promise;
isButtonDisabled: () => Promise;
hasSkin: (skinName: import("@wix/design-system").ButtonSkin) => Promise;
isPrefixIconExists: () => Promise;
isSuffixIconExists: () => Promise;
exists: () => Promise;
element: () => Promise;
click: () => Promise;
};
getImage: () => import("@wix/design-system/dist/types/Image/Image.uni.driver").ImageUniDriver;
wait: (timeout?: number | undefined) => Promise;
getClearFiltersButton: () => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
getImageGlassArt: () => import("@wix/design-system/dist/types/Image/Image.uni.driver").ImageUniDriver;
getTitleText: () => Promise;
getSubtitleText: () => Promise;
hasTheme: (themeName: import("@wix/design-system").EmptyStateTheme) => Promise;
getImageUrl: () => (name: string) => Promise;
getImageContainerClassName: () => Promise;
imageNodeExists: () => Promise;
childrenContentExists: () => Promise;
hasAlign: (align: import("@wix/design-system").EmptyStateAlign) => Promise;
exists: () => Promise;
element: () => Promise;
click: () => Promise;
};
viewsToolbarItemLabelExists: () => Promise;
getEmptyStateClearFiltersButton: (emptyStateDataHook: string) => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
/**
* Triggers "scroll" event on the scroll element. For the virtual table by default scrolls down to the not rendered items.
* @param scrollableElementDataHook - The data hook of the scrollable element (Optional, defaults to "page-scrollable-content").
*/
scrollDown: (scrollableElementDataHook?: string, options?: {
top?: number;
}) => Promise;
scrollHorizontally: (options?: {
page?: Page;
}) => Promise;
/**
* Triggers "scroll" event on the scroll element, until item exists
* @param index
* @param timeout - how much to wait for item exists
* @param delay - how much to wait between each check
* @param scrollableElementDataHook
*/
scrollDownToItem: (index: number, options?: {
timeout?: number;
delay?: number;
scrollableElementDataHook?: string;
top?: number;
}) => Promise;
scrollDownToItemByKey: (rowKey: string, options?: {
timeout?: number;
delay?: number;
scrollableElementDataHook?: string;
top?: number;
}) => Promise;
/**
* Triggers "scroll" up event on the scroll element.
* @param scrollableElementDataHook - The data hook of the scrollable element (Optional, defaults to "page-scrollable-content").
*/
scrollUp: (scrollableElementDataHook?: string, options?: {
top?: number;
}) => Promise;
/**
* Triggers "scroll" up event on the scroll element, until item exists
* @param index
* @param timeout - how much to wait for item exists
* @param delay - how much to wait between each check
* @param scrollableElementDataHook
*/
scrollUpToItem: (index: number, options?: {
timeout?: number;
delay?: number;
scrollableElementDataHook?: string;
}) => Promise;
scrollUpToItemByKey: (rowKey: string, options?: {
timeout?: number;
delay?: number;
scrollableElementDataHook?: string;
}) => Promise;
/**
* Triggers "scroll" event on the scroll element to the top.
* @param scrollableElementDataHook - The data hook of the scrollable element (Optional, defaults to "page-scrollable-content").
*/
scrollToTop: ({ scrollableElementDataHook, }?: {
scrollableElementDataHook?: string | undefined;
}) => Promise;
hoverRowByIndex: (index: number) => Promise;
getRowByIndex: (index: number) => UniDriver;
/** @deprecated Use getRowByIndex instead */
getRowByIndexBase: (index: number) => Promise>;
/** @deprecated Use getCellDriverByIndex instead */
getCellByIndex: (index: number, col: number) => UniDriver;
/** @deprecated Use getCellDriverByIndex instead */
_getCellByIndex: (index: number, col: number) => UniDriver;
getCellTextValue: (index: number, col: number) => Promise;
_getRowByKey: (rowKey: string) => UniDriver;
_getCellByKey: (rowKey: string, cellDataHook: string) => UniDriver;
_getCellByRowIndexAndCellKey: (rowIndex: number, cellDataHook: string) => UniDriver;
/** @deprected use getCellDriverByIndex for virtual table */
getVirtualizedCellDriverByIndex: (rowNum: number, col: number) => {
exists: () => Promise;
click: () => Promise;
element: () => Promise;
};
/** Gets a driver by row number and column index */
getCellDriverByIndex: (rowNum: number, col: number) => {
exists: () => Promise;
click: () => Promise;
element: () => Promise;
};
/** @deprected use getCellDriverByDataHook for virtual table */
getVirtualizedCellDriverByDataHook: (rowNum: number, dataHook: string) => {
exists: () => Promise;
click: () => Promise;
element: () => Promise;
};
/** Gets a driver by row number and column data-hook */
getCellDriverByDataHook: (rowNum: number, dataHook: string) => {
exists: () => Promise;
click: () => Promise;
element: () => Promise;
};
clickRowCheckbox: (index: number) => Promise;
/**
* Gets number of rendered rows (not all items are rendered for virtualized table)
*/
getRenderedRowsCount: () => Promise;
/**
* Gets number of loaded items for virtualized table (not all items are rendered)
*/
getVirtualizedRowsCount: () => Promise;
/** Gets number of loaded items for both virtual and non-virtual table */
getRowsCount: () => Promise;
getVirtualizedBody: () => UniDriver;
isTableVirtualized: () => Promise;
getLastRenderedItemIndex: () => Promise;
getLastRenderedItemKey: () => Promise;
getFirstRenderedItemKey: () => Promise;
getRenderedItemIndexAt: (i: number) => Promise;
getRenderedItemIndexByKey: (rowKey: string) => Promise;
/** Get the row key according to the `itemKey` function */
getRowKey: (rowIndex: number, dataHook?: string) => Promise;
/** Get multiple rows keys according to the `itemKey` function */
getRowsKeys: (rowsIndexes: number[], dataHook?: string) => Promise<(string | undefined)[]>;
/**
* Drags an element over another element.
* @param {number} sourceIndex
* @param {number} targetIndex
* @param [options]
* @param {number} [options.steps] number of movement steps (only for puppeteer)
*/
dragOver: (sourceIndex: number, targetIndex: number, options?: {
steps?: number;
}) => Promise;
dragStart: (index: number) => Promise;
dragMove: () => Promise;
dragEnd: (index: number) => Promise;
_getDragAndDropDriver: () => {
escapeDrag: (source: UniDriver, { key: code }?: {
key?: string | undefined;
}) => Promise;
startKeyboardDrag: (source: UniDriver) => Promise;
dragOverKeyboard: (target: UniDriver) => Promise;
endKeyboardDrag: (target: UniDriver) => Promise;
dragStart: (source: UniDriver, options?: {
page?: import("puppeteer-core").Page | undefined;
x?: number | undefined;
}) => Promise;
dragMove: () => Promise;
dragEnd: (target: UniDriver, options?: {
page?: import("puppeteer-core").Page | undefined;
}) => Promise;
dragOver: (source: UniDriver, target: UniDriver, { dragPointRatio, dropPointRatio, steps, }?: {
dragPointRatio?: {
x: number;
y: number;
} | undefined;
dropPointRatio?: {
x: number;
y: number;
} | undefined;
steps?: number | undefined;
}) => Promise;
moveOver: (target: UniDriver, options?: {
page?: import("puppeteer-core").Page | undefined;
pixels?: number | undefined;
}) => Promise;
moveAny: (source: UniDriver, options?: {
page?: import("puppeteer-core").Page | undefined;
x?: number | undefined;
y?: number | undefined;
steps?: number | undefined;
vertical?: boolean | undefined;
} | undefined) => Promise;
exists: () => Promise;
click: () => Promise;
element: () => Promise;
};
getNavigationModal: () => {
getContent: () => UniDriver;
getTheme(): Promise;
clickCloseButton(): Promise;
clickHelpButton(): Promise;
childExists(dataHook: string): Promise;
getTitleText(): Promise;
getSubtitleText(): Promise;
getSecondaryButtonDriver(): Promise<{
getButtonTextContent: () => Promise;
isFocused: () => Promise;
isButtonDisabled: () => Promise;
hasSkin: (skinName: import("@wix/design-system").ButtonSkin) => Promise;
isPrefixIconExists: () => Promise;
isSuffixIconExists: () => Promise;
exists: () => Promise;
element: () => Promise;
click: () => Promise;
}>;
getPrimaryButtonDriver(): Promise<{
getButtonTextContent: () => Promise;
isFocused: () => Promise;
isButtonDisabled: () => Promise;
hasSkin: (skinName: import("@wix/design-system").ButtonSkin) => Promise;
isPrefixIconExists: () => Promise;
isSuffixIconExists: () => Promise;
exists: () => Promise;
element: () => Promise;
click: () => Promise;
}>;
getPrimaryButtonTooltipContent(): Promise;
getIllustrationSrc(): Promise;
exists: () => Promise;
element: () => Promise;
click: () => Promise;
};
getCustomFieldModal: () => {
exists: () => Promise;
clickConfirm: () => Promise;
clickClose: () => Promise;
clickCancel: () => Promise;
clickAdvancedSettings: () => Promise;
fillInCustomFieldForm: ({ type, name, key, permissions, }: {
type?: string | undefined;
name?: string | undefined;
key?: string | undefined;
permissions?: {
read?: ("apps" | "users")[] | undefined;
write?: ("apps" | "users")[] | undefined;
} | undefined;
}) => Promise;
getCustomFieldFormValues: () => Promise<{
type: string;
name: string;
key: string;
permissions: {
read: {
apps: boolean;
users: boolean;
};
write: {
apps: boolean;
users: boolean;
};
};
}>;
getFormDrivers: () => {
getFormTypeDriver: () => import("@wix/design-system/dist/types/Dropdown/Dropdown.uni.driver").DropdownUniDriver;
getFormNameDriver: () => import("@wix/design-system/dist/types/Input/Input.uni.driver").InputUniDriver;
getFormKeyDriver: () => import("@wix/design-system/dist/types/Input/Input.uni.driver").InputUniDriver;
getFormReadApps: () => {
click: () => Promise;
focus: () => Promise;
isFocused: () => Promise;
blur: () => Promise;
isChecked: () => Promise;
isDisabled: () => Promise;
isIndeterminate: () => Promise;
isTooltipEnabled: () => Promise;
hasError: () => Promise;
getTooltipContent: () => Promise;
getLabel: () => Promise;
getLabelSize: () => Promise;
exists: () => Promise;
element: () => Promise;
};
getFormWriteApps: () => {
click: () => Promise;
focus: () => Promise;
isFocused: () => Promise;
blur: () => Promise;
isChecked: () => Promise;
isDisabled: () => Promise;
isIndeterminate: () => Promise;
isTooltipEnabled: () => Promise;
hasError: () => Promise;
getTooltipContent: () => Promise;
getLabel: () => Promise;
getLabelSize: () => Promise;
exists: () => Promise;
element: () => Promise;
};
getFormReadUsers: () => {
click: () => Promise;
focus: () => Promise;
isFocused: () => Promise;
blur: () => Promise;
isChecked: () => Promise;
isDisabled: () => Promise;
isIndeterminate: () => Promise;
isTooltipEnabled: () => Promise;
hasError: () => Promise;
getTooltipContent: () => Promise;
getLabel: () => Promise;
getLabelSize: () => Promise;
exists: () => Promise;
element: () => Promise;
};
getFormWriteUsers: () => {
click: () => Promise;
focus: () => Promise;
isFocused: () => Promise;
blur: () => Promise;
isChecked: () => Promise;
isDisabled: () => Promise;
isIndeterminate: () => Promise;
isTooltipEnabled: () => Promise;
hasError: () => Promise;
getTooltipContent: () => Promise;
getLabel: () => Promise;
getLabelSize: () => Promise;
exists: () => Promise;
element: () => Promise;
};
getTypeFormFieldDriver: () => import("@wix/design-system/dist/types/FormField/FormField.uni.driver").FormFieldUniDriver;
getNameFormFieldDriver: () => import("@wix/design-system/dist/types/FormField/FormField.uni.driver").FormFieldUniDriver;
getKeyFormFieldDriver: () => import("@wix/design-system/dist/types/FormField/FormField.uni.driver").FormFieldUniDriver;
getFieldKeyTooltip: () => import("@wix/design-system/dist/types/Text/Text.uni.driver").TextUniDriver;
};
getErrorStateNotification: () => import("@wix/design-system/dist/types/FloatingNotification/FloatingNotification.uni.driver").FloatingNotificationUniDriver;
isSubmitting: () => Promise;
};
getArchiveFieldModal: () => {
exists: () => Promise;
clickConfirm: () => Promise;
clickClose: () => Promise;
};
getManageTagsModal: () => {
exists: () => Promise;
getTagsCount: () => Promise;
getTagByIdx: (idx: number) => import("@wix/design-system/dist/types/Tag/Tag.uni.driver").TagUniDriver;
getTagById: (tagId: string) => import("@wix/design-system/dist/types/Tag/Tag.uni.driver").TagUniDriver;
getModalTitle: () => Promise;
getCreateBtnDriver: () => import("@wix/design-system/dist/types/TextButton/TextButton.uni.driver").TextButtonUniDriver;
getNotificationDriver: () => import("@wix/design-system/dist/types/FloatingNotification/FloatingNotification.uni.driver").FloatingNotificationUniDriver;
clickCloseButton: () => Promise;
getSearchDriver: () => import("@wix/design-system/dist/types/Search/Search.uni.driver").SearchUniDriver;
getAddItem: () => {
getText: () => Promise;
textExists: () => Promise;
getTooltipContent: () => Promise;
getSubtitle: () => Promise;
isFocused: () => Promise;
focus: () => Promise;
blur: () => Promise;
exists: () => Promise;
element: () => Promise;
click: () => Promise