/// import * as vue from 'vue'; import { ComponentInternalInstance, FunctionalComponent, ComponentOptions, Component, Directive, Plugin as Plugin$1, AppConfig, VNode, VNodeProps, ComponentPublicInstance, ComputedOptions, MethodOptions, CreateComponentPublicInstance, ComponentCustomProperties, App, ConcreteComponent, Prop, EmitsOptions, ComponentOptionsMixin, ExtractPropTypes, ExtractDefaultPropTypes, DefineComponent, ComponentOptionsWithoutProps, ComponentOptionsWithArrayProps, ComponentPropsOptions, ComponentOptionsWithObjectProps, AllowedComponentProps, ComponentCustomProps } from 'vue'; interface RefSelector { ref: string; } interface NameSelector { name: string; length?: never; } type FindAllComponentsSelector = DefinedComponent | FunctionalComponent | ComponentOptions | NameSelector | string; type FindComponentSelector = RefSelector | FindAllComponentsSelector; type Slot = VNode | string | { render: Function; } | Function | Component; type SlotDictionary = { [key: string]: Slot; }; type RawProps = VNodeProps & { __v_isVNode?: never; [Symbol.iterator]?: never; } & Record; interface MountingOptions$1 { /** * Overrides component's default data. Must be a function. * @see https://test-utils.vuejs.org/api/#data */ data?: () => {} extends Data ? any : Data extends object ? Partial : any; /** * Sets component props when mounted. * @see https://test-utils.vuejs.org/api/#props */ props?: (RawProps & Props) | ({} extends Props ? null : never); /** * @deprecated use `props` instead. */ propsData?: Props; /** * Sets component attributes when mounted. * @see https://test-utils.vuejs.org/api/#attrs */ attrs?: Record; /** * Provide values for slots on a component. * @see https://test-utils.vuejs.org/api/#slots */ slots?: SlotDictionary & { default?: Slot; }; /** * Provides global mounting options to the component. */ global?: GlobalMountOptions$1; /** * Specify where to mount the component. * Can be a valid CSS selector, or an Element connected to the document. * @see https://test-utils.vuejs.org/api/#attachto */ attachTo?: HTMLElement | string; /** * Automatically stub out all the child components. * @default false * @see https://test-utils.vuejs.org/api/#slots */ shallow?: boolean; } type Stub = boolean | Component | Directive; type Stubs = Record | Array; type GlobalMountOptions$1 = { /** * Installs plugins on the component. * @see https://test-utils.vuejs.org/api/#global-plugins */ plugins?: (Plugin$1 | [Plugin$1, ...any[]])[]; /** * Customizes Vue application global configuration * @see https://v3.vuejs.org/api/application-config.html#application-config */ config?: Partial>; /** * Applies a mixin for components under testing. * @see https://test-utils.vuejs.org/api/#global-mixins */ mixins?: ComponentOptions[]; /** * Mocks a global instance property. * This is designed to mock variables injected by third party plugins, not * Vue's native properties such as $root, $children, etc. * @see https://test-utils.vuejs.org/api/#global-mocks */ mocks?: Record; /** * Provides data to be received in a setup function via `inject`. * @see https://test-utils.vuejs.org/api/#global-provide */ provide?: Record; /** * Registers components globally for components under testing. * @see https://test-utils.vuejs.org/api/#global-components */ components?: Record; /** * Registers a directive globally for components under testing * @see https://test-utils.vuejs.org/api/#global-directives */ directives?: Record; /** * Stubs a component for components under testing. * @default "{ transition: true, 'transition-group': true }" * @see https://test-utils.vuejs.org/api/#global-stubs */ stubs?: Stubs; /** * Allows rendering the default slot content, even when using * `shallow` or `shallowMount`. * @default false * @see https://test-utils.vuejs.org/api/#global-renderstubdefaultslot */ renderStubDefaultSlot?: boolean; }; type VueNode = T & { __vue_app__?: any; __vueParentComponent?: ComponentInternalInstance; }; type DefinedComponent = new (...args: any[]) => any; type DomEventName = keyof typeof domEvents; declare const systemKeyModifiers: readonly ["ctrl", "shift", "alt", "meta"]; declare const mouseKeyModifiers: readonly ["left", "middle", "right"]; declare const keyCodesByKeyName: { readonly backspace: 8; readonly tab: 9; readonly enter: 13; readonly esc: 27; readonly space: 32; readonly pageup: 33; readonly pagedown: 34; readonly end: 35; readonly home: 36; readonly left: 37; readonly up: 38; readonly right: 39; readonly down: 40; readonly insert: 45; readonly delete: 46; }; type DomEventNameWithModifier = DomEventName | `${DomEventName}.${(typeof systemKeyModifiers)[number]}` | `click.${(typeof mouseKeyModifiers)[number]}` | `click.${(typeof systemKeyModifiers)[number]}.${(typeof mouseKeyModifiers)[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${(typeof systemKeyModifiers)[number]}.${keyof typeof keyCodesByKeyName}`; declare const domEvents: { readonly abort: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly afterprint: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly animationend: { readonly eventInterface: "AnimationEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly animationiteration: { readonly eventInterface: "AnimationEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly animationstart: { readonly eventInterface: "AnimationEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly appinstalled: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; /** * @deprecated */ readonly audioprocess: { readonly eventInterface: "AudioProcessingEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly audioend: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly audiostart: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly beforeprint: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly beforeunload: { readonly eventInterface: "BeforeUnloadEvent"; readonly bubbles: false; readonly cancelable: true; }; readonly beginEvent: { readonly eventInterface: "TimeEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly blur: { readonly eventInterface: "FocusEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly boundary: { readonly eventInterface: "SpeechSynthesisEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly cached: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly canplay: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly canplaythrough: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly change: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: false; }; readonly chargingchange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly chargingtimechange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly checking: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly click: { readonly eventInterface: "MouseEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly close: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly complete: { readonly eventInterface: "OfflineAudioCompletionEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly compositionend: { readonly eventInterface: "CompositionEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly compositionstart: { readonly eventInterface: "CompositionEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly compositionupdate: { readonly eventInterface: "CompositionEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly contextmenu: { readonly eventInterface: "MouseEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly copy: { readonly eventInterface: "ClipboardEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly cut: { readonly eventInterface: "ClipboardEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly dblclick: { readonly eventInterface: "MouseEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly devicechange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly devicelight: { readonly eventInterface: "DeviceLightEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly devicemotion: { readonly eventInterface: "DeviceMotionEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly deviceorientation: { readonly eventInterface: "DeviceOrientationEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly deviceproximity: { readonly eventInterface: "DeviceProximityEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly dischargingtimechange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly DOMActivate: { readonly eventInterface: "UIEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMAttributeNameChanged: { readonly eventInterface: "MutationNameEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMAttrModified: { readonly eventInterface: "MutationEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMCharacterDataModified: { readonly eventInterface: "MutationEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMContentLoaded: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMElementNameChanged: { readonly eventInterface: "MutationNameEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMFocusIn: { readonly eventInterface: "FocusEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMFocusOut: { readonly eventInterface: "FocusEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMNodeInserted: { readonly eventInterface: "MutationEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMNodeInsertedIntoDocument: { readonly eventInterface: "MutationEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMNodeRemoved: { readonly eventInterface: "MutationEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly DOMNodeRemovedFromDocument: { readonly eventInterface: "MutationEvent"; readonly bubbles: true; readonly cancelable: true; }; /** * @deprecated */ readonly DOMSubtreeModified: { readonly eventInterface: "MutationEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly downloading: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly drag: { readonly eventInterface: "DragEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly dragend: { readonly eventInterface: "DragEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly dragenter: { readonly eventInterface: "DragEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly dragleave: { readonly eventInterface: "DragEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly dragover: { readonly eventInterface: "DragEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly dragstart: { readonly eventInterface: "DragEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly drop: { readonly eventInterface: "DragEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly durationchange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly emptied: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly end: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly ended: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly endEvent: { readonly eventInterface: "TimeEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly error: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly focus: { readonly eventInterface: "FocusEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly focusin: { readonly eventInterface: "FocusEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly focusout: { readonly eventInterface: "FocusEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly fullscreenchange: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: false; }; readonly fullscreenerror: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: false; }; readonly gamepadconnected: { readonly eventInterface: "GamepadEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly gamepaddisconnected: { readonly eventInterface: "GamepadEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly gotpointercapture: { readonly eventInterface: "PointerEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly hashchange: { readonly eventInterface: "HashChangeEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly lostpointercapture: { readonly eventInterface: "PointerEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly input: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: false; }; readonly invalid: { readonly eventInterface: "Event"; readonly cancelable: true; readonly bubbles: false; }; readonly keydown: { readonly eventInterface: "KeyboardEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly keypress: { readonly eventInterface: "KeyboardEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly keyup: { readonly eventInterface: "KeyboardEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly languagechange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly levelchange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly load: { readonly eventInterface: "UIEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly loadeddata: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly loadedmetadata: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly loadend: { readonly eventInterface: "ProgressEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly loadstart: { readonly eventInterface: "ProgressEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly mark: { readonly eventInterface: "SpeechSynthesisEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly message: { readonly eventInterface: "MessageEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly messageerror: { readonly eventInterface: "MessageEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly mousedown: { readonly eventInterface: "MouseEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly mouseenter: { readonly eventInterface: "MouseEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly mouseleave: { readonly eventInterface: "MouseEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly mousemove: { readonly eventInterface: "MouseEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly mouseout: { readonly eventInterface: "MouseEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly mouseover: { readonly eventInterface: "MouseEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly mouseup: { readonly eventInterface: "MouseEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly nomatch: { readonly eventInterface: "SpeechRecognitionEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly notificationclick: { readonly eventInterface: "NotificationEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly noupdate: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly obsolete: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly offline: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly online: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly open: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly orientationchange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly pagehide: { readonly eventInterface: "PageTransitionEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly pageshow: { readonly eventInterface: "PageTransitionEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly paste: { readonly eventInterface: "ClipboardEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly pause: { readonly eventInterface: "SpeechSynthesisEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly pointercancel: { readonly eventInterface: "PointerEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly pointerdown: { readonly eventInterface: "PointerEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly pointerenter: { readonly eventInterface: "PointerEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly pointerleave: { readonly eventInterface: "PointerEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly pointerlockchange: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: false; }; readonly pointerlockerror: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: false; }; readonly pointermove: { readonly eventInterface: "PointerEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly pointerout: { readonly eventInterface: "PointerEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly pointerover: { readonly eventInterface: "PointerEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly pointerup: { readonly eventInterface: "PointerEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly play: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly playing: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly popstate: { readonly eventInterface: "PopStateEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly progress: { readonly eventInterface: "ProgressEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly push: { readonly eventInterface: "PushEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly pushsubscriptionchange: { readonly eventInterface: "PushEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly ratechange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly readystatechange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly repeatEvent: { readonly eventInterface: "TimeEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly reset: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: true; }; readonly resize: { readonly eventInterface: "UIEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly resourcetimingbufferfull: { readonly eventInterface: "Performance"; readonly bubbles: true; readonly cancelable: true; }; readonly result: { readonly eventInterface: "SpeechRecognitionEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly resume: { readonly eventInterface: "SpeechSynthesisEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly scroll: { readonly eventInterface: "UIEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly seeked: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly seeking: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly select: { readonly eventInterface: "UIEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly selectstart: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: true; }; readonly selectionchange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly show: { readonly eventInterface: "MouseEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly slotchange: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: false; }; readonly soundend: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly soundstart: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly speechend: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly speechstart: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly stalled: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly start: { readonly eventInterface: "SpeechSynthesisEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly storage: { readonly eventInterface: "StorageEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly submit: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: true; }; readonly success: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly suspend: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly SVGAbort: { readonly eventInterface: "SVGEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly SVGError: { readonly eventInterface: "SVGEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly SVGLoad: { readonly eventInterface: "SVGEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly SVGResize: { readonly eventInterface: "SVGEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly SVGScroll: { readonly eventInterface: "SVGEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly SVGUnload: { readonly eventInterface: "SVGEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly SVGZoom: { readonly eventInterface: "SVGZoomEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly timeout: { readonly eventInterface: "ProgressEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly timeupdate: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly touchcancel: { readonly eventInterface: "TouchEvent"; readonly bubbles: true; readonly cancelable: false; }; readonly touchend: { readonly eventInterface: "TouchEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly touchmove: { readonly eventInterface: "TouchEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly touchstart: { readonly eventInterface: "TouchEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly transitionend: { readonly eventInterface: "TransitionEvent"; readonly bubbles: true; readonly cancelable: true; }; readonly unload: { readonly eventInterface: "UIEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly updateready: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly userproximity: { readonly eventInterface: "UserProximityEvent"; readonly bubbles: false; readonly cancelable: false; }; readonly voiceschanged: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly visibilitychange: { readonly eventInterface: "Event"; readonly bubbles: true; readonly cancelable: false; }; readonly volumechange: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly waiting: { readonly eventInterface: "Event"; readonly bubbles: false; readonly cancelable: false; }; readonly wheel: { readonly eventInterface: "WheelEvent"; readonly bubbles: true; readonly cancelable: true; }; }; interface TriggerOptions { code?: String; key?: String; keyCode?: Number; [custom: string]: any; } declare class DOMWrapper extends BaseWrapper { constructor(element: NodeType | null | undefined); getRootNodes(): VueNode[]; getCurrentComponent(): vue.ComponentInternalInstance | undefined; find(selector: K): DOMWrapper; find(selector: K): DOMWrapper; find(selector: string): DOMWrapper; find(selector: string | RefSelector): DOMWrapper; findAll(selector: K): DOMWrapper[]; findAll(selector: K): DOMWrapper[]; findAll(selector: string): DOMWrapper[]; findAllComponents(selector: any): any; private setChecked; setValue(value?: any): Promise; private setSelected; } interface WrapperLike { readonly element: Node; find(selector: K): DOMWrapper; find(selector: K): DOMWrapper; find(selector: string): DOMWrapper; find(selector: string | RefSelector): DOMWrapper; findAll(selector: K): DOMWrapper[]; findAll(selector: K): DOMWrapper[]; findAll(selector: string): DOMWrapper[]; findAll(selector: string): DOMWrapper[]; findComponent(selector: string): WrapperLike; findComponent(selector: T | Exclude): VueWrapper>; findComponent(selector: T | string): DOMWrapper; findComponent(selector: NameSelector | RefSelector): VueWrapper; findComponent(selector: T | FindComponentSelector): VueWrapper; findComponent(selector: FindComponentSelector): WrapperLike; findAllComponents(selector: string): WrapperLike[]; findAllComponents(selector: T | Exclude): VueWrapper>[]; findAllComponents(selector: string): DOMWrapper[]; findAllComponents(selector: T): DOMWrapper[]; findAllComponents(selector: NameSelector): VueWrapper[]; findAllComponents(selector: T | FindAllComponentsSelector): VueWrapper[]; findAllComponents(selector: FindAllComponentsSelector): WrapperLike[]; get(selector: K): Omit, 'exists'>; get(selector: K): Omit, 'exists'>; get(selector: string): Omit, 'exists'>; get(selector: string | RefSelector): Omit, 'exists'>; getComponent(selector: string): Omit; getComponent(selector: T | Exclude): Omit>, 'exists'>; getComponent(selector: T | string): Omit, 'exists'>; getComponent(selector: T | FindComponentSelector): Omit, 'exists'>; getComponent(selector: FindComponentSelector): Omit; html(): string; classes(): string[]; classes(className: string): boolean; classes(className?: string): string[] | boolean; attributes(): { [key: string]: string; }; attributes(key: string): string | undefined; attributes(key?: string): { [key: string]: string; } | string | undefined; text(): string; exists(): boolean; setValue(value: any): Promise; isVisible(): boolean; trigger(eventString: DomEventNameWithModifier, options?: TriggerOptions): Promise; trigger(eventString: string, options?: TriggerOptions): Promise; } declare abstract class BaseWrapper implements WrapperLike { protected readonly wrapperElement: VueNode; protected abstract getRootNodes(): VueNode[]; get element(): VueNode; protected constructor(element: ElementType); protected findAllDOMElements(selector: string): Element[]; find(selector: K): DOMWrapper; find(selector: K): DOMWrapper; find(selector: string): DOMWrapper; find(selector: string | RefSelector): DOMWrapper; abstract findAll(selector: K): DOMWrapper[]; abstract findAll(selector: K): DOMWrapper[]; abstract findAll(selector: string): DOMWrapper[]; abstract findAll(selector: string): DOMWrapper[]; findComponent(selector: string): WrapperLike; findComponent(selector: ComponentOptions): VueWrapper>; findComponent(selector: string): VueWrapper ? CreateComponentPublicInstance : VueWrapper>; findComponent(selector: T | Exclude): VueWrapper>; findComponent(selector: T): DOMWrapper; findComponent(selector: string): DOMWrapper; findComponent(selector: NameSelector | RefSelector): VueWrapper; findComponent(selector: T | FindComponentSelector): VueWrapper; findComponent(selector: FindComponentSelector): WrapperLike; findAllComponents(selector: string): WrapperLike[]; findAllComponents(selector: T | Exclude): VueWrapper>[]; findAllComponents(selector: T): DOMWrapper[]; findAllComponents(selector: string): DOMWrapper[]; findAllComponents(selector: NameSelector): VueWrapper[]; findAllComponents(selector: T | FindAllComponentsSelector): VueWrapper[]; findAllComponents(selector: FindAllComponentsSelector): WrapperLike[]; abstract setValue(value?: any): Promise; html(options?: { raw?: boolean; }): string; classes(): string[]; classes(className: string): boolean; attributes(): { [key: string]: string; }; attributes(key: string): string | undefined; text(): string; exists(): boolean; get(selector: K): Omit, 'exists'>; get(selector: K): Omit, 'exists'>; get(selector: string): Omit, 'exists'>; get(selector: string | RefSelector): Omit, 'exists'>; getComponent(selector: string): Omit; getComponent(selector: T | Exclude): Omit>, 'exists'>; getComponent(selector: T | string): Omit, 'exists'>; getComponent(selector: NameSelector | RefSelector): Omit; getComponent(selector: T | FindComponentSelector): Omit, 'exists'>; getComponent(selector: FindComponentSelector): Omit; protected isDisabled: () => boolean; isVisible(): boolean; protected abstract getCurrentComponent(): ComponentInternalInstance | void; trigger(eventString: DomEventNameWithModifier, options?: TriggerOptions): Promise; trigger(eventString: string, options?: TriggerOptions): Promise; } declare class VueWrapper & { $emit: (event: any, ...args: any[]) => void; } & ComponentCustomProperties = ComponentPublicInstance> extends BaseWrapper { private readonly componentVM; private readonly rootVM; private readonly __app; private readonly __setProps; private cleanUpCallbacks; constructor(app: App | null, vm: T, setProps?: (props: Record) => void); private get hasMultipleRoots(); protected getRootNodes(): VueNode[]; private get parentElement(); getCurrentComponent(): vue.ComponentInternalInstance; exists(): boolean; findAll(selector: K): DOMWrapper[]; findAll(selector: K): DOMWrapper[]; findAll(selector: string): DOMWrapper[]; private attachNativeEventListener; get element(): Element; get vm(): T; props(): { [key: string]: any; }; props(selector: string): any; emitted(): Record; emitted(eventName: string): undefined | T[]; isVisible(): boolean; setData(data: Record): Promise; setProps(props: Record): Promise; setValue(value: unknown, prop?: string): Promise; unmount(): void; } type CustomCreateStub = (params: { name: string; component: ConcreteComponent; }) => ConcreteComponent; interface GlobalConfigOptions { global: Required> & { stubs: Record; }; plugins: { VueWrapper: Pluggable; DOMWrapper: Pluggable>; createStubs?: CustomCreateStub; }; /** * @deprecated use global. */ renderStubDefaultSlot?: boolean; } interface Plugin { handler(instance: Instance): Record; handler(instance: Instance, options: O): Record; options: O; } declare class Pluggable> { installedPlugins: Plugin[]; install(handler: (instance: Instance) => Record): void; install(handler: (instance: Instance, options: O) => Record, options: O): void; extend(instance: Instance): void; /** For testing */ reset(): void; } type PublicProps$1 = VNodeProps & AllowedComponentProps & ComponentCustomProps; type ComponentMountingOptions$1 = T extends DefineComponent ? MountingOptions$1> & Omit> & PublicProps$1, keyof ExtractDefaultPropTypes>, D> & Record : MountingOptions$1; declare function renderToString(originalComponent: { new (...args: any[]): V; __vccOpts: any; }, options?: MountingOptions$1 & Record): Promise; declare function renderToString(originalComponent: { new (...args: any[]): V; __vccOpts: any; defaultProps?: Record> | string[]; }, options?: MountingOptions$1

& Record): Promise; declare function renderToString(originalComponent: { new (...args: any[]): V; registerHooks(keys: string[]): void; }, options?: MountingOptions$1 & Record): Promise; declare function renderToString(originalComponent: { new (...args: any[]): V; props(Props: P): any; registerHooks(keys: string[]): void; }, options?: MountingOptions$1

& Record): Promise; declare function renderToString(originalComponent: FunctionalComponent, options?: MountingOptions$1 & Record): Promise; declare function renderToString, EE extends string = string, PP = PublicProps$1, Props = Readonly>, Defaults extends {} = ExtractDefaultPropTypes>(component: DefineComponent, options?: MountingOptions$1 & Omit, D> & Record): Promise; declare function renderToString>(component: T, options?: ComponentMountingOptions$1): Promise; declare function renderToString = {}, E extends EmitsOptions = Record, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string>(componentOptions: ComponentOptionsWithoutProps, options?: MountingOptions$1): Promise; declare function renderToString = {}, E extends EmitsOptions = Record, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string, Props extends Readonly<{ [key in PropNames]?: any; }> = Readonly<{ [key in PropNames]?: any; }>>(componentOptions: ComponentOptionsWithArrayProps, options?: MountingOptions$1): Promise; declare function renderToString, RawBindings, D extends {}, C extends ComputedOptions = {}, M extends Record = {}, E extends EmitsOptions = Record, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string>(componentOptions: ComponentOptionsWithObjectProps, options?: MountingOptions$1 & PublicProps$1, D>): Promise; declare function createWrapperError(wrapperType: 'DOMWrapper' | 'VueWrapper'): T; declare function flushPromises(): Promise; declare function disableAutoUnmount(): void; declare function enableAutoUnmount(hook: (callback: () => void) => void): void; declare const VueTestUtils: { renderToString: typeof renderToString; enableAutoUnmount: typeof enableAutoUnmount; disableAutoUnmount: typeof disableAutoUnmount; RouterLinkStub: DefineComponent<{ to: { type: (ObjectConstructor | StringConstructor)[]; required: true; }; custom: { type: BooleanConstructor; default: boolean; }; }, unknown, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly>, { custom: boolean; }>; VueWrapper: typeof VueWrapper; DOMWrapper: typeof DOMWrapper; BaseWrapper: typeof BaseWrapper; config: GlobalConfigOptions; flushPromises: typeof flushPromises; createWrapperError: typeof createWrapperError; }; type GlobalMountOptions = Required>['global']; declare global { namespace Cypress { interface Cypress { vueWrapper: VueWrapper; vue: ComponentPublicInstance; } } } type MountingOptions = Omit, 'attachTo'> & { log?: boolean; /** * @deprecated use vue-test-utils `global` instead */ extensions?: GlobalMountOptions & { use?: GlobalMountOptions['plugins']; mixin?: GlobalMountOptions['mixins']; }; }; type CyMountOptions = MountingOptions; /** * The types for mount have been copied directly from the VTU mount * https://github.com/vuejs/vue-test-utils-next/blob/master/src/mount.ts. * * There isn't a good way to make them generic enough that we can extend them. * * In addition, we modify the types slightly. * * `MountOptions` are modifying, including some Cypress specific options like `styles`. * The return type is different. Instead of VueWrapper, it's Cypress.Chainable>. */ type PublicProps = VNodeProps & AllowedComponentProps & ComponentCustomProps; type ComponentMountingOptions = T extends DefineComponent ? MountingOptions> & Omit> & PublicProps, keyof ExtractDefaultPropTypes>, D> & Record : MountingOptions; declare function mount(originalComponent: { new (...args: any[]): V; __vccOpts: any; }, options?: MountingOptions & Record): Cypress.Chainable<{ wrapper: VueWrapper>; component: VueWrapper>['vm']; }>; declare function mount(originalComponent: { new (...args: any[]): V; __vccOpts: any; defaultProps?: Record> | string[]; }, options?: MountingOptions

& Record): Cypress.Chainable<{ wrapper: VueWrapper>; component: VueWrapper>['vm']; }>; declare function mount(originalComponent: { new (...args: any[]): V; registerHooks(keys: string[]): void; }, options?: MountingOptions & Record): Cypress.Chainable<{ wrapper: VueWrapper>; component: VueWrapper>['vm']; }>; declare function mount(originalComponent: { new (...args: any[]): V; props(Props: P): any; registerHooks(keys: string[]): void; }, options?: MountingOptions

& Record): Cypress.Chainable<{ wrapper: VueWrapper>; component: VueWrapper>['vm']; }>; declare function mount(originalComponent: FunctionalComponent, options?: MountingOptions & Record): Cypress.Chainable<{ wrapper: VueWrapper>; component: VueWrapper>['vm']; }>; declare function mount, EE extends string = string, PP = PublicProps, Props = Readonly>, Defaults extends {} = ExtractDefaultPropTypes>(component: DefineComponent, options?: MountingOptions & Omit, D> & Record): Cypress.Chainable<{ wrapper: VueWrapper>>; component: VueWrapper>>['vm']; }>; declare function mount>(component: T, options?: ComponentMountingOptions): Cypress.Chainable<{ wrapper: VueWrapper>; component: VueWrapper>['vm']; }>; declare function mount = {}, E extends EmitsOptions = Record, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string>(componentOptions: ComponentOptionsWithoutProps, options?: MountingOptions): Cypress.Chainable<{ wrapper: VueWrapper> & Record; component: VueWrapper> & Record['vm']; }>; declare function mount = {}, E extends EmitsOptions = Record, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string, Props extends Readonly<{ [key in PropNames]?: any; }> = Readonly<{ [key in PropNames]?: any; }>>(componentOptions: ComponentOptionsWithArrayProps, options?: MountingOptions): Cypress.Chainable<{ wrapper: VueWrapper>; component: VueWrapper>['vm']; }>; declare function mount, RawBindings, D extends {}, C extends ComputedOptions = {}, M extends Record = {}, E extends EmitsOptions = Record, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string>(componentOptions: ComponentOptionsWithObjectProps, options?: MountingOptions & PublicProps, D>): Cypress.Chainable<{ wrapper: VueWrapper, RawBindings, D, C, M, E, VNodeProps & ExtractPropTypes>>; component: VueWrapper, RawBindings, D, C, M, E, VNodeProps & ExtractPropTypes>>['vm']; }>; /** * Helper function for mounting a component quickly in test hooks. * @example * import {mountCallback} from '@cypress/vue' * beforeEach(mountVue(component, options)) * * Removed as of Cypress 11.0.0. * @see https://on.cypress.io/migration-11-0-0-component-testing-updates */ declare function mountCallback(component: any, options?: any): () => void; export { CyMountOptions, VueTestUtils, mount, mountCallback };