import { UniDriver } from '@wix/unidriver-core';
import { KeyboardKey } from '@wix/unidriver-core';
export declare const dropdownBasePrivateDriverFactory: (base: UniDriver, body: UniDriver) => {
    /** Returns the native target element */
    getTargetElement: () => Promise<any>;
    /** Returns the native DropdownLayout element */
    getDropdownElement: () => Promise<any>;
    /** Return `true` if the option is hovered by the mouse */
    isOptionHovered: (index: number) => Promise<boolean>;
    /** Return `true` if the option is selected */
    isOptionSelected: (index: number) => Promise<boolean>;
    /** Trigger a keyDown event on the target element */
    keyDown: (key: KeyboardKey) => Promise<void>;
    /** Perform a mouseLeave on the target element */
    mouseLeaveTarget: () => Promise<void>;
    dropdownLayout: {
        classes: (_name?: string) => 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<import("../DropdownLayout/DropdownLayout.uni.driver").DropdownLayoutOptionUniDriver>;
        optionById(optionId: string | number): Promise<import("../DropdownLayout/DropdownLayout.uni.driver").DropdownLayoutOptionUniDriver>;
        optionContentAt: (position: number) => Promise<string>;
        optionDriver: (option: UniDriver) => {
            element: () => UniDriver;
            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<import("../DropdownLayout/DropdownLayout.uni.driver").DropdownLayoutOptionUniDriver[]>;
        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;
    };
    keyDownListItem: (position: number, key: string) => Promise<void>;
    isListItemFocused: (position: number) => Promise<boolean>;
    getListType: (dataHook: string) => Promise<string | null>;
    clickTargetElement: (dataHook: string) => Promise<void>;
    hoverTargetElement: (dataHook: string) => Promise<void>;
    isDropdownShown: () => Promise<boolean>;
    selectOption: (index: number) => Promise<void>;
    selectOptionByDataHook: (dataHook: string) => Promise<void>;
    clickOutside: () => Promise<void>;
    optionsCount: () => Promise<number>;
    optionContentAt: (position: number) => Promise<any>;
    getSelectedOptionId: () => Promise<string | null>;
    getMarkedOption: () => Promise<string | null>;
    mouseEnter: () => Promise<void>;
    mouseLeave: () => Promise<void>;
    exists: () => Promise<boolean>;
    element: () => Promise<any>;
    click: () => Promise<void>;
    base: UniDriver;
};
//# sourceMappingURL=DropdownBase.private.uni.driver.d.ts.map