import { BaseUniDriver } from 'wix-ui-test-utils/base-driver'; import { SyntheticEventData } from 'react-dom/test-utils'; import { InputSize } from './index'; import { StatusIndications } from '../common'; export interface InputUniDriver extends BaseUniDriver { click: () => Promise; getInputElementClasses: () => Promise; suffixComponentExists: (style: string) => Promise; getRootElementClasses: () => Promise; getAriaDescribedby: () => Promise; getAriaLabel: () => Promise; getName: () => Promise; getMaxLength: () => Promise; getType: () => Promise; getAriaControls: () => Promise; clickIconAffix: () => Promise; clickCustomAffix: () => Promise; hasSuffix: () => Promise; prefixComponentExists: (style: string) => Promise; hasPrefix: () => Promise; hasClearButton: () => Promise; clickClear: () => Promise; getValue: () => Promise; getText: () => Promise; getPlaceholder: () => Promise; isOfSize: (size: InputSize) => Promise; getSize: () => Promise; isDisabled: () => Promise; isHoveredStyle: () => Promise; isFocusedStyle: () => Promise; getRequired: () => Promise; enterText: (value: string) => Promise; getAutocomplete: () => Promise; getDefaultValue: () => Promise; getUnit: () => Promise; getTabIndex: () => Promise; isCustomInput: () => Promise; getReadOnly: () => Promise; getDisabled: () => Promise; getTextOverflow: () => Promise; focus: () => Promise; blur: () => Promise; keyUp: () => Promise; keyDown: (eventData: SyntheticEventData) => Promise; paste: () => Promise; wheel: () => Promise; trigger(value: 'focus'): Promise; trigger(value: 'blur'): Promise; trigger(value: 'keyUp'): Promise; trigger(value: 'paste'): Promise; trigger(value: 'change'): Promise; trigger(value: 'keyDown', event: SyntheticEventData): Promise; trigger(value: 'wheel'): Promise; isFocus: () => Promise; hasHelp: () => Promise; clickUnit: () => Promise; hasMagnifyingGlass: () => Promise; clickMagnifyingGlass: () => Promise; clickMenuArrow: () => Promise; hasMenuArrow: () => Promise; isRTL: () => Promise; getCursorLocation: () => Promise; clearText: () => Promise; clickOutside: () => boolean; // Status hasStatus: (status: StatusIndications) => Promise; getStatusMessage: () => Promise; }