import { UniDriver } from '@wix/unidriver-core';
export declare const dropdownLayoutDriverFactory: (base: UniDriver, body: UniDriver) => {
    /** @deprecated should be private */
    classes: (_name?: string) => Promise<any>;
    /** Clicks on an option at a specific index
     * @param {number} option index
     * @return {Promise<void>}
     */
    clickAtOption: (index: number) => Promise<void>;
    /** Clicks on an option with a specific dataHook
     * @param {string} dataHook
     * @return {Promise<void>}
     */
    clickAtOptionByDataHook: (dataHook: string) => Promise<void>;
    /** Clicks on an option with a specific value
     * @param {string} value
     * @return {Promise<void>}
     */
    clickAtOptionWithValue: (value: string) => Promise<void>;
    /** @deprecated deprecated prop */
    hasTopArrow: () => Promise<boolean>;
    /** @deprecated deprecated prop */
    isDown: () => Promise<boolean>;
    /** @deprecated deprecated prop */
    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>;
    /** @deprecated */
    isOptionHeightSmall: (position: number) => Promise<boolean>;
    /** @deprecated */
    isOptionHeightBig: (position: number) => Promise<boolean>;
    isListItemFocused: (position: number) => Promise<boolean>;
    isShown: () => Promise<boolean>;
    mouseEnter: () => Promise<void>;
    mouseEnterAtOption: (position: number) => Promise<void>;
    mouseLeave: () => Promise<void>;
    /** @deprecated deprecated prop */
    mouseClickOutside: () => any;
    mouseLeaveAtOption: (position: number) => Promise<void>;
    /** @deprecated Use optionDriver*/
    optionAt: () => Promise<any>;
    /** @deprecated */
    optionByHook: (hook: string) => Promise<DropdownLayoutOptionUniDriver>;
    /**
     * Get Option by id
     * @returns {Promise<DropdownLayoutOptionUniDriver>}
     */
    optionById(optionId: string | number): Promise<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>;
    };
    /** Get Options drivers */
    options: () => Promise<DropdownLayoutOptionUniDriver[]>;
    optionsContent: () => Promise<string[]>;
    markedOption: () => Promise<string | null>;
    getSelectedOptionId: () => Promise<string | null>;
    optionsLength: () => Promise<number>;
    /** @deprecated should be private */
    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>;
    /** Returns the list type prop value */
    getListType: (dataHook: string) => Promise<string>;
    getOptionsContainerRole: () => Promise<string>;
    exists: () => Promise<boolean>;
    element: () => Promise<any>;
    click: () => Promise<void>;
    base: UniDriver;
};
declare const createOptionDriver: (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>;
};
export type DropdownLayoutOptionUniDriver = ReturnType<typeof createOptionDriver>;
export type DropdownLayoutUniDriver = ReturnType<typeof dropdownLayoutDriverFactory>;
export {};
//# sourceMappingURL=DropdownLayout.uni.driver.d.ts.map