import { UniDriver } from '@wix/unidriver-core';
import { SyntheticEventData } from 'react-dom/test-utils';
import { InputSize } from './Input.types';
import { StatusIndications } from '../common';
import { KeyboardKey } from '@wix/unidriver-core';
type EventType = 'focus' | 'blur' | 'keyUp' | 'keyDown' | 'paste' | 'copy' | 'change' | 'wheel';
type ChangeEvent = {
    target: {
        value: string;
    };
};
type Trigger = {
    (eventType: 'keyDown', event: SyntheticEventData): Promise<void>;
    (eventType: 'change', event: ChangeEvent): Promise<void>;
    (eventType: Exclude<EventType, 'keyDown' | 'change'>): Promise<void>;
};
export declare const testkit: (base: UniDriver, body: UniDriver) => {
    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: InputSize) => Promise<boolean>;
    getSize: () => Promise<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: SyntheticEventData) => Promise<void>;
    pressKey: (key: KeyboardKey) => Promise<void>;
    paste: () => Promise<void>;
    copy: () => Promise<void>;
    wheel: () => Promise<void>;
    trigger: Trigger;
    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>;
    /** Return true if there's a status */
    hasStatus: (status: StatusIndications) => Promise<boolean>;
    /** If there's a status message, returns its text value */
    getStatusMessage: () => Promise<string | null>;
    exists: () => Promise<boolean>;
    element: () => Promise<any>;
    base: UniDriver;
};
export default testkit;
export type InputUniDriver = ReturnType<typeof testkit>;
//# sourceMappingURL=Input.uni.driver.d.ts.map