import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';
export declare const CollectionDropdownFilterUniDriver: <T extends Omit<{
    exists: () => Promise<boolean>;
    driver: {
        selectOptionById: (id: any) => Promise<void>;
        isReadOnly: () => Promise<any>;
        isEditable: () => Promise<boolean>;
        isDisabled: () => Promise<any>;
        inputWrapper: <R = any>() => Promise<R>;
        focus: () => Promise<void>;
        blur: () => Promise<any>;
        pressKey: (key: string) => Promise<void>;
        outsideClick: () => Promise<void>;
        isFocus: () => Promise<boolean>;
        exists: () => Promise<boolean>;
        $: (selector: string) => UniDriver<any, {
            parent?: any;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>;
        $$: (selector: string) => import("@wix/unidriver-core").UniDriverList<any, {
            parent?: any;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>;
        s: (selector: string) => UniDriver<any, {
            parent?: any;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>;
        ss: (selector: string) => import("@wix/unidriver-core").UniDriverList<any, {
            parent?: any;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>;
        awaited: (timeoutMs?: number | undefined) => UniDriver<any, {
            parent?: any;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>;
        text: () => Promise<string>;
        click: (options?: import("@wix/unidriver-core").ClickOptions | undefined) => Promise<void>;
        value: () => Promise<string>;
        enterText: (value: string, options?: import("@wix/unidriver-core").EnterTextOptions | undefined) => Promise<void>;
        attr: (name: string) => Promise<string | null>;
        mouse: {
            moveTo: (to: UniDriver<any, {
                parent?: any;
                base?: any;
                selector?: string | Promise<string> | undefined;
                idx?: number | undefined;
                timeBudget?: number | undefined;
            }, any>) => Promise<void>;
            press: () => Promise<void>;
            release: () => Promise<void>;
            leave: () => Promise<void>;
            hover: () => Promise<void>;
        };
        unwrap: <R_1 = any>() => Promise<R_1>;
        hasClass: (name: string) => Promise<boolean>;
        prop: (name: string) => Promise<any>;
        enterValue: (value: string, options?: import("@wix/unidriver-core").EnterValueOptions | undefined) => Promise<void>;
        get: (query: string, options?: {
            timeout: number;
        } | undefined) => Promise<UniDriver<any, {
            parent?: any;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>>;
        getAll: (query: string, options?: {
            timeout: number;
        } | undefined) => Promise<import("@wix/unidriver-core").UniDriverList<any, {
            parent?: any;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>>;
        getNative: <R_2 = any>() => Promise<R_2>;
        hover: () => Promise<void>;
        _prop: (name: string) => Promise<any>;
        wait: (timeout?: number | undefined) => Promise<void>;
        isDisplayed?: (() => Promise<boolean>) | undefined;
        scrollIntoView?: (() => Promise<void>) | undefined;
        type?: "react" | "puppeteer" | undefined;
    };
    inputDriver: {
        click: () => Promise<void>;
        getInputAttribute: (name: string) => Promise<string | null>;
        getInputElementClasses: () => Promise<DOMTokenList>;
        suffixComponentExists: (className: string) => Promise<boolean>;
        getRootElementClasses: () => Promise<DOMTokenList>;
        getAriaDescribedby: () => Promise<string | null>;
        getAriaLabel: () => Promise<string | null>;
        getName: () => Promise<string | null>;
        getMaxLength: () => Promise<string | null>;
        getType: () => Promise<string | null>;
        getAriaControls: () => Promise<string | null>;
        clickIconAffix: () => Promise<void>;
        clickCustomAffix: () => Promise<void>;
        getCustomAffixText: () => Promise<string>;
        hasSuffix: () => Promise<boolean>;
        getClearButtonTooltipContent: () => Promise<string>;
        prefixComponentExists: (style: string) => Promise<boolean>;
        hasPrefix: () => Promise<boolean>;
        hasClearButton: () => Promise<boolean>;
        clickClear: () => Promise<void>;
        getValue: () => Promise<string>;
        getText: () => Promise<string>;
        getPattern: () => Promise<string | null>;
        getPlaceholder: () => Promise<string | null>;
        isOfSize: (size: import("@wix/design-system").InputSize) => Promise<boolean>;
        getSize: () => Promise<import("@wix/design-system").InputSize | null>;
        isDisabled: () => Promise<boolean>;
        isHoveredStyle: () => Promise<boolean>;
        isFocusedStyle: () => Promise<boolean>;
        getRequired: () => Promise<any>;
        enterText: (value: string) => Promise<void>;
        getAutocomplete: () => Promise<string | null>;
        getDefaultValue: () => Promise<any>;
        getTabIndex: () => Promise<any>;
        isCustomInput: () => Promise<boolean>;
        getReadOnly: () => Promise<any>;
        getDisabled: () => Promise<any>;
        getTextOverflow: () => Promise<string>;
        focus: () => Promise<void>;
        blur: () => Promise<void>;
        keyUp: () => Promise<void>;
        keyDown: (eventData: import("react-dom/test-utils").SyntheticEventData) => Promise<void>;
        pressKey: (key: "Delete" | "Cancel" | "X" | "a" | "b" | "i" | "p" | "q" | "s" | "u" | "g" | "0" | "1" | "2" | "3" | "k" | "x" | "y" | "d" | "r" | "/" | "-" | "Alt" | "AltGraph" | "CapsLock" | "Control" | "Meta" | "NumLock" | "ScrollLock" | "Shift" | "Escape" | "A" | "I" | "Space" | "Enter" | "Tab" | "ArrowDown" | "$" | "4" | "5" | "6" | "7" | "." | "t" | "Open" | "_" | "," | " " | "c" | "8" | "9" | "o" | "+" | "End" | "T" | "z" | ":" | "ArrowUp" | "f" | "Backspace" | "\n" | "ArrowLeft" | "ArrowRight" | ">" | "Power" | "Eject" | "Abort" | "Help" | "Numpad5" | "NumpadEnter" | "\r" | "ShiftLeft" | "ShiftRight" | "ControlLeft" | "ControlRight" | "AltLeft" | "AltRight" | "Pause" | "Convert" | "NonConvert" | "Numpad9" | "PageUp" | "Numpad3" | "PageDown" | "Numpad1" | "Home" | "Numpad7" | "Numpad4" | "Numpad8" | "Numpad6" | "Numpad2" | "Select" | "PrintScreen" | "Insert" | "Numpad0" | "NumpadDecimal" | "Digit0" | "Digit1" | "Digit2" | "Digit3" | "Digit4" | "Digit5" | "Digit6" | "Digit7" | "Digit8" | "Digit9" | "KeyA" | "KeyB" | "KeyC" | "KeyD" | "KeyE" | "KeyF" | "KeyG" | "KeyH" | "KeyI" | "KeyJ" | "KeyK" | "KeyL" | "KeyM" | "KeyN" | "KeyO" | "KeyP" | "KeyQ" | "KeyR" | "KeyS" | "KeyT" | "KeyU" | "KeyV" | "KeyW" | "KeyX" | "KeyY" | "KeyZ" | "MetaLeft" | "MetaRight" | "ContextMenu" | "NumpadMultiply" | "NumpadAdd" | "NumpadSubtract" | "NumpadDivide" | "F1" | "F2" | "F3" | "F4" | "F5" | "F6" | "F7" | "F8" | "F9" | "F10" | "F11" | "F12" | "F13" | "F14" | "F15" | "F16" | "F17" | "F18" | "F19" | "F20" | "F21" | "F22" | "F23" | "F24" | "AudioVolumeMute" | "AudioVolumeDown" | "AudioVolumeUp" | "MediaTrackNext" | "MediaTrackPrevious" | "MediaStop" | "MediaPlayPause" | "Semicolon" | "Equal" | "NumpadEqual" | "Comma" | "Minus" | "Period" | "Slash" | "Backquote" | "BracketLeft" | "Backslash" | "BracketRight" | "Quote" | "Props" | "Clear" | "Accept" | "ModeChange" | "Print" | "Execute" | "\0" | "e" | "h" | "j" | "l" | "m" | "n" | "v" | "w" | "*" | ";" | "=" | "`" | "[" | "\\" | "]" | "'" | "Attn" | "CrSel" | "ExSel" | "EraseEof" | "Play" | "ZoomOut" | ")" | "!" | "@" | "#" | "%" | "^" | "&" | "(" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "U" | "V" | "W" | "Y" | "Z" | "<" | "?" | "~" | "{" | "|" | "}" | "\"" | "SoftLeft" | "SoftRight" | "Camera" | "Call" | "EndCall" | "VolumeDown" | "VolumeUp") => Promise<void>;
        paste: () => Promise<void>;
        copy: () => Promise<void>;
        wheel: () => Promise<void>;
        trigger: {
            (eventType: "keyDown", event: import("react-dom/test-utils").SyntheticEventData): Promise<void>;
            (eventType: "change", event: {
                target: {
                    value: string;
                };
            }): Promise<void>;
            (eventType: "blur" | "focus" | "copy" | "paste" | "wheel" | "keyUp"): Promise<void>;
        };
        isFocus: () => Promise<boolean | undefined>;
        clickMenuArrow: () => Promise<void>;
        hasMenuArrow: () => Promise<boolean>;
        isRTL: () => Promise<boolean>;
        getCursorLocation: () => Promise<number>;
        clearText: () => Promise<void>;
        clickOutside: () => Promise<void>;
        isMasked: () => Promise<boolean>;
        isSelected: () => Promise<boolean>;
        hasStatus: (status: import("@wix/design-system").StatusIndications) => Promise<boolean>;
        getStatusMessage: () => Promise<string | null>;
        exists: () => Promise<boolean>;
        element: () => Promise<any>;
        base: UniDriver<any, {
            parent?: any | undefined;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>;
    };
    dropdownLayoutDriver: {
        classes: (_name?: string | undefined) => Promise<any>;
        clickAtOption: (index: number) => Promise<void>;
        clickAtOptionByDataHook: (dataHook: string) => Promise<void>;
        clickAtOptionWithValue: (value: string) => Promise<void>;
        hasTopArrow: () => Promise<boolean>;
        isDown: () => Promise<boolean>;
        isUp: () => Promise<boolean>;
        isLinkOption: (position: number) => Promise<boolean>;
        isOptionADivider: (position: number) => Promise<boolean>;
        isOptionExists: (optionText: string) => Promise<boolean>;
        isOptionHovered: (index: number) => Promise<boolean>;
        isOptionSelected: (index: number) => Promise<boolean>;
        isOptionHeightSmall: (position: number) => Promise<boolean>;
        isOptionHeightBig: (position: number) => Promise<boolean>;
        isListItemFocused: (position: number) => Promise<boolean>;
        isShown: () => Promise<boolean>;
        mouseEnter: () => Promise<void>;
        mouseEnterAtOption: (position: number) => Promise<void>;
        mouseLeave: () => Promise<void>;
        mouseClickOutside: () => any;
        mouseLeaveAtOption: (position: number) => Promise<void>;
        optionAt: () => Promise<any>;
        optionByHook: (hook: string) => Promise<{
            element: () => UniDriver<any, {
                parent?: any | undefined;
                base?: any;
                selector?: string | Promise<string> | undefined;
                idx?: number | undefined;
                timeBudget?: number | undefined;
            }, any>;
            mouseEnter: () => Promise<void>;
            mouseLeave: () => Promise<any>;
            isHovered: () => Promise<boolean>;
            isSelected: () => Promise<boolean>;
            content: () => Promise<string>;
            click: () => Promise<void>;
            isDivider: () => Promise<boolean>;
            isDisabled: () => Promise<boolean>;
            isLink: () => Promise<boolean>;
        }>;
        optionById(optionId: string | number): Promise<{
            element: () => UniDriver<any, {
                parent?: any | undefined;
                base?: any;
                selector?: string | Promise<string> | undefined;
                idx?: number | undefined;
                timeBudget?: number | undefined;
            }, any>;
            mouseEnter: () => Promise<void>;
            mouseLeave: () => Promise<any>;
            isHovered: () => Promise<boolean>;
            isSelected: () => Promise<boolean>;
            content: () => Promise<string>;
            click: () => Promise<void>;
            isDivider: () => Promise<boolean>;
            isDisabled: () => Promise<boolean>;
            isLink: () => Promise<boolean>;
        }>;
        optionContentAt: (position: number) => Promise<string>;
        optionDriver: (option: UniDriver<any, {
            parent?: any | undefined;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>) => {
            element: () => UniDriver<any, {
                parent?: any | undefined;
                base?: any;
                selector?: string | Promise<string> | undefined;
                idx?: number | undefined;
                timeBudget?: number | undefined;
            }, any>;
            mouseEnter: () => Promise<void>;
            mouseLeave: () => Promise<any>;
            isHovered: () => Promise<boolean>;
            isSelected: () => Promise<boolean>;
            content: () => Promise<string>;
            click: () => Promise<void>;
            isDivider: () => Promise<boolean>;
            isDisabled: () => Promise<boolean>;
            isLink: () => Promise<boolean>;
        };
        options: () => Promise<{
            element: () => UniDriver<any, {
                parent?: any | undefined;
                base?: any;
                selector?: string | Promise<string> | undefined;
                idx?: number | undefined;
                timeBudget?: number | undefined;
            }, any>;
            mouseEnter: () => Promise<void>;
            mouseLeave: () => Promise<any>;
            isHovered: () => Promise<boolean>;
            isSelected: () => Promise<boolean>;
            content: () => Promise<string>;
            click: () => Promise<void>;
            isDivider: () => Promise<boolean>;
            isDisabled: () => Promise<boolean>;
            isLink: () => Promise<boolean>;
        }[]>;
        optionsContent: () => Promise<string[]>;
        markedOption: () => Promise<string | null>;
        getSelectedOptionId: () => Promise<string | null>;
        optionsLength: () => Promise<number>;
        optionsScrollTop: () => Promise<number>;
        pressDownKey: () => Promise<void>;
        pressUpKey: () => Promise<void>;
        pressRightKey: () => Promise<void>;
        pressLeftKey: () => Promise<void>;
        pressEnterKey: () => Promise<void>;
        pressSpaceKey: () => Promise<void>;
        pressTabKey: () => Promise<void>;
        pressEscKey: () => Promise<void>;
        keyDownListItem: (position: number, key: string) => Promise<void>;
        tabIndex: () => Promise<number>;
        getListItemAttribute: (position: number, attribute: string) => Promise<string>;
        getListType: (dataHook: string) => Promise<string>;
        getOptionsContainerRole: () => Promise<string>;
        exists: () => Promise<boolean>;
        element: () => Promise<any>;
        click: () => Promise<void>;
        base: UniDriver<any, {
            parent?: any | undefined;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>;
    };
}, "driver">>(optionsDriver: T, dataHook: string, base: UniDriver, body: UniDriver) => T & {
    waitForOptions: (total?: number, timeout?: number) => Promise<{
        element: () => UniDriver<any, {
            parent?: any | undefined;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>;
        mouseEnter: () => Promise<void>;
        mouseLeave: () => Promise<any>;
        isHovered: () => Promise<boolean>;
        isSelected: () => Promise<boolean>;
        content: () => Promise<string>;
        click: () => Promise<void>;
        isDivider: () => Promise<boolean>;
        isDisabled: () => Promise<boolean>;
        isLink: () => Promise<boolean>;
    }[]>;
    getOptions: (ids: string[]) => Promise<Promise<{
        element: () => UniDriver<any, {
            parent?: any | undefined;
            base?: any;
            selector?: string | Promise<string> | undefined;
            idx?: number | undefined;
            timeBudget?: number | undefined;
        }, any>;
        mouseEnter: () => Promise<void>;
        mouseLeave: () => Promise<any>;
        isHovered: () => Promise<boolean>;
        isSelected: () => Promise<boolean>;
        content: () => Promise<string>;
        click: () => Promise<void>;
        isDivider: () => Promise<boolean>;
        isDisabled: () => Promise<boolean>;
        isLink: () => Promise<boolean>;
    }>[]>;
    clickOptions: (ids: string[]) => Promise<string[]>;
    close: () => any;
    clickInputClear: () => Promise<void>;
    selectOptions: (ids: string[], { closeDropdown }?: {
        closeDropdown?: boolean | undefined;
    }) => Promise<string[]>;
    selectOption: (id: string) => Promise<string | never[]>;
    selectRandomOptions: (count: number, options?: {
        closeDropdown?: boolean;
    }) => Promise<string[]>;
    getRandomOptions: (count: number) => Promise<string[]>;
    getOptionsCount: () => Promise<number>;
    getAvailableOptionsIds: () => Promise<string[]>;
    getInputPlaceholder: () => Promise<string | null>;
    isNoSearchResults: () => Promise<boolean>;
    getEmptyStateText: () => Promise<string>;
    isErrorStateExists: () => Promise<boolean>;
    initialLoaderExists: () => Promise<boolean>;
    infiniteScrollLoaderExists: () => Promise<boolean>;
    hasDivider: () => Promise<boolean>;
    existInFilter: (dataHook: string) => Promise<boolean>;
    _getDropdownLayoutBase: () => Promise<UniDriver<any, {
        parent?: any | undefined;
        base?: any;
        selector?: string | Promise<string> | undefined;
        idx?: number | undefined;
        timeBudget?: number | undefined;
    }, any>>;
    scrollDown: () => Promise<void>;
};
//# sourceMappingURL=CollectionDropdownFilter.uni.driver.d.ts.map