import { ISuperElement, ISuperNode, ISuperHTMLElement, ISuperNodeList, ISuperHTMLCollection } from '@ulixee/awaited-dom/base/interfaces/super'; import AwaitedPath from '@ulixee/awaited-dom/base/AwaitedPath'; import { INodePointer } from '@ulixee/js-path'; import { IElementInteractVerification } from '@ulixee/unblocked-specification/agent/interact/IInteractions'; import SuperDocument from '@ulixee/awaited-dom/impl/super-klasses/SuperDocument'; import { IElement, IHTMLCollection, IHTMLElement, INode, INodeList } from '@ulixee/awaited-dom/base/interfaces/official'; import { ITypeInteraction } from '../interfaces/IInteractions'; import IAwaitedOptions from '../interfaces/IAwaitedOptions'; declare const awaitedPathState: { getState: (instance: any) => { awaitedPath: AwaitedPath; awaitedOptions: IAwaitedOptions; nodePointer?: INodePointer; }; setState: (instance: any, properties: Partial<{ awaitedPath: AwaitedPath; awaitedOptions: IAwaitedOptions; nodePointer?: INodePointer; }>) => void; }; interface IBaseExtendNode { $isVisible: Promise; $exists: Promise; $isClickable: Promise; $hasFocus: Promise; $contentDocument: SuperDocument; $clearInputText(): Promise; $click(verification?: IElementInteractVerification): Promise; $type(...typeInteractions: ITypeInteraction[]): Promise; $waitForExists(options?: { timeoutMs?: number; }): Promise; $waitForClickable(options?: { timeoutMs?: number; }): Promise; $waitForHidden(options?: { timeoutMs?: number; }): Promise; $waitForVisible(options?: { timeoutMs?: number; }): Promise; $xpathSelector(selector: string): ISuperNode; $detach(): Promise; $addToDetachedElements(name: string): Promise; } interface IBaseExtendNodeList { $map(iteratorFn: (node: ISuperNode, index: number) => Promise): Promise; $reduce(iteratorFn: (initial: T, node: ISuperNode) => Promise, initial: T): Promise; $detach(): Promise; $addToDetachedElements(name?: string): Promise; } declare module '@ulixee/awaited-dom/base/interfaces/super' { interface ISuperElement extends IBaseExtendNode { } interface ISuperNode extends IBaseExtendNode { } interface ISuperHTMLElement extends IBaseExtendNode { } interface ISuperNodeList extends IBaseExtendNodeList { } interface ISuperHTMLCollection extends IBaseExtendNodeList { } } declare module '@ulixee/awaited-dom/base/interfaces/official' { interface IElement extends IBaseExtendNode { } interface INode extends IBaseExtendNode { } interface IHTMLElement extends IBaseExtendNode { } interface INodeList extends IBaseExtendNodeList { } interface IHTMLCollection extends IBaseExtendNodeList { } } export declare function extendNodes(functions: IFunctions, getters?: IGetters): void; export declare function extendNodeLists(functions: { [name: string]: any; }): void; export declare function isDomExtensionClass(instance: any): boolean; export type IDomExtensionClass = ISuperElement | ISuperNode | ISuperHTMLElement | IElement | INode | IHTMLElement | ISuperNodeList | ISuperHTMLCollection | INodeList | IHTMLCollection; export { awaitedPathState };