import { DebugElement, ElementRef, Type, EventEmitter } from '@angular/core'; import { Observable } from 'rxjs'; import { ComponentFixture } from '@angular/core/testing'; import { Token } from '../token'; import { DOMSelector } from '../dom-selectors'; import { SpecElement, EventEmitterType, KeysMatching, KeyboardEventOptions } from '../types'; import { SpyObject } from '../mock'; import { BaseSpec } from './base-Spec'; /** * @internal */ export declare abstract class DomSpec extends BaseSpec { fixture: ComponentFixture; debugElement: DebugElement; protected instance: I; element: Element; constructor(fixture: ComponentFixture, debugElement: DebugElement, instance: I, element: Element); inject(token: Token): SpyObject; detectChanges(): void; query(selector: string | DOMSelector, options?: { root: boolean; }): R | null; query(directive: Type): R | null; query(directiveOrSelector: Type | string, options: { read: Token; }): R | null; queryAll(selector: string | DOMSelector, options?: { root: boolean; }): R[]; queryAll(directive: Type): R[]; queryAll(directiveOrSelector: Type | string, options: { read: Token; }): R[]; queryLast(selector: string | DOMSelector, options?: { root: boolean; }): R | null; queryLast(directive: Type): R | null; queryLast(directiveOrSelector: Type | string, options: { read: Token; }): R | null; setInput(input: Partial): void; setInput(input: K, inputValue: I[K]): void; output(output: K): Observable; tick(millis?: number): void; click(selector?: SpecElement): void; blur(selector?: SpecElement): void; focus(selector?: SpecElement): void; dispatchMouseEvent(selector: string | Element | Window | Document | DebugElement | DOMSelector | ElementRef | undefined, type: string, x?: number, y?: number, event?: MouseEvent): MouseEvent; dispatchKeyboardEvent(selector: SpecElement, type: string, keyCode: number, target?: Element): KeyboardEvent; dispatchKeyboardEvent(selector: SpecElement, type: string, key: string, target?: Element): KeyboardEvent; dispatchKeyboardEvent(selector: SpecElement, type: string, keyAndCode: KeyboardEventOptions, target?: Element): KeyboardEvent; dispatchFakeEvent(selector: string | Element | Window | Document | DebugElement | DOMSelector | ElementRef | undefined, type: string, canBubble?: boolean): Event; triggerEventHandler> = any>(directiveOrSelector: Type | string | DebugElement, eventName: K, eventObj: EventEmitterType, options?: { root: boolean; }): void; get keyboard(): { pressKey: (key: string, selector?: SpecElement, event?: string) => void; pressEscape: (selector?: SpecElement, event?: string) => void; pressEnter: (selector?: SpecElement, event?: string) => void; pressTab: (selector?: SpecElement, event?: string) => void; pressBackspace: (selector?: SpecElement, event?: string) => void; }; get mouse(): { contextmenu: (selector?: SpecElement) => void; dblclick: (selector?: SpecElement) => void; }; dispatchTouchEvent(selector: string | Element | Window | Document | DebugElement | DOMSelector | ElementRef | undefined, type: string, x?: number, y?: number): void; typeInElement(value: string, selector?: SpecElement): void; selectOption(selector: string | Element | Window | Document | DebugElement | DOMSelector | ElementRef | undefined, options: string | string[] | HTMLOptionElement | HTMLOptionElement[], config?: { emitEvents: boolean; }): void; private getNativeElement; private getTriggerDebugElement; private getRootDebugElement; }