import ISessionCreateOptions from '@ulixee/hero-interfaces/ISessionCreateOptions'; import SuperDocument from '@ulixee/awaited-dom/impl/super-klasses/SuperDocument'; import IDomStorage from '@ulixee/unblocked-specification/agent/browser/IDomStorage'; import IUserProfile from '@ulixee/hero-interfaces/IUserProfile'; import { IRequestInit } from '@ulixee/awaited-dom/base/interfaces/official'; import Response from '@ulixee/awaited-dom/impl/official-klasses/Response'; import { ISuperElement, ISuperNode, ISuperNodeList } from '@ulixee/awaited-dom/base/interfaces/super'; import IWaitForResourceOptions from '@ulixee/hero-interfaces/IWaitForResourceOptions'; import IWaitForElementOptions from '@ulixee/hero-interfaces/IWaitForElementOptions'; import { ILoadStatus, ILocationTrigger } from '@ulixee/unblocked-specification/agent/browser/Location'; import Request from '@ulixee/awaited-dom/impl/official-klasses/Request'; import IWaitForOptions from '@ulixee/hero-interfaces/IWaitForOptions'; import { IElementIsolate, IHTMLFrameElementIsolate, IHTMLIFrameElementIsolate, IHTMLObjectElementIsolate, INodeIsolate } from '@ulixee/awaited-dom/base/interfaces/isolate'; import CSSStyleDeclaration from '@ulixee/awaited-dom/impl/official-klasses/CSSStyleDeclaration'; import IHeroMeta from '@ulixee/hero-interfaces/IHeroMeta'; import IScreenshotOptions from '@ulixee/unblocked-specification/agent/browser/IScreenshotOptions'; import { INodeVisibility } from '@ulixee/js-path'; import IClientPlugin, { IClientPluginClass } from '@ulixee/hero-interfaces/IClientPlugin'; import IFlowCommandOptions from '@ulixee/hero-interfaces/IFlowCommandOptions'; import { IPluginClass } from '@ulixee/hero-interfaces/IPlugin'; import { IElementInteractVerification, IMousePositionXY } from '@ulixee/unblocked-specification/agent/interact/IInteractions'; import IDomState, { IDomStateAllFn } from '@ulixee/hero-interfaces/IDomState'; import IResourceFilterProperties from '@ulixee/hero-interfaces/IResourceFilterProperties'; import DetachedElement from './DetachedElement'; import DetachedResource from './DetachedResource'; import WebsocketResource from './WebsocketResource'; import IWaitForResourceFilter from '../interfaces/IWaitForResourceFilter'; import Resource from './Resource'; import IInteractions, { ITypeInteraction } from '../interfaces/IInteractions'; import Tab from './Tab'; import IHeroCreateOptions from '../interfaces/IHeroCreateOptions'; import AwaitedEventTarget from './AwaitedEventTarget'; import IHeroDefaults from '../interfaces/IHeroDefaults'; import FrameEnvironment from './FrameEnvironment'; import FileChooser from './FileChooser'; import DomState from './DomState'; import CoreSession from './CoreSession'; import { InternalPropertiesSymbol } from './internal'; import IWaitForResourcesFilter from '../interfaces/IWaitForResourcesFilter'; import DetachedElements from './DetachedElements'; import DetachedResources from './DetachedResources'; import { IDomExtensionClass } from './DomExtender'; export type ISessionOptions = ISessionCreateOptions & Pick; interface ISharedInternalProperties { clientPlugins: IClientPlugin[]; coreSessionPromise: Promise; isConnected: boolean; } interface IHeroEvents { close: () => void; connected: () => void; command: (name: string, commandId: number, args: any[]) => void; } export default class Hero extends AwaitedEventTarget { #private; static defaults: IHeroDefaults; get [InternalPropertiesSymbol](): ISharedInternalProperties; constructor(createOptions?: IHeroCreateOptions); get activeTab(): Tab; get document(): SuperDocument; get frameEnvironments(): Promise; get isAllContentLoaded(): Promise; get isDomContentLoaded(): Promise; get isPaintingStable(): Promise; get lastCommandId(): Promise; get mainFrameEnvironment(): FrameEnvironment; get sessionId(): Promise; get sessionName(): Promise; get meta(): Promise; get storage(): Promise; get tabs(): Promise; get url(): Promise; get coreHost(): Promise; get Request(): typeof Request; get version(): string; get detachedElements(): DetachedElements; get detachedResources(): DetachedResources; addToDetached(name: string, elementOrResource: Resource | WebsocketResource | IDomExtensionClass): Promise; detach(elementOrResource: Resource | WebsocketResource): Promise; detach(elementOrResource: Resource | WebsocketResource): Promise; close(): Promise; newTab(): Promise; closeTab(tab: Tab): Promise; focusTab(tab: Tab): Promise; findResource(filter: IResourceFilterProperties, options?: { sinceCommandId: number; }): Promise; findResources(filter: IResourceFilterProperties, options?: { sinceCommandId: number; }): Promise; getSnippet(key: string): Promise; setSnippet(key: string, value: any): Promise; waitForNewTab(options?: IWaitForOptions): Promise; click(mousePosition: IMousePositionXY | ISuperElement, options?: { clickVerification?: IElementInteractVerification; }): Promise; getFrameEnvironment(frameElement: IHTMLFrameElementIsolate | IHTMLIFrameElementIsolate | IHTMLObjectElementIsolate): Promise; interact(...interactions: IInteractions): Promise; scrollTo(mousePosition: IMousePositionXY | ISuperElement): Promise; type(...typeInteractions: ITypeInteraction[]): Promise; exportUserProfile(): Promise; use(PluginObject: string | IClientPluginClass | { [name: string]: IPluginClass; }): void; goto(href: string, options?: { timeoutMs?: number; referrer?: string; }): Promise; goBack(options?: { timeoutMs?: number; }): Promise; goForward(options?: { timeoutMs?: number; }): Promise; reload(options?: { timeoutMs?: number; }): Promise; fetch(request: Request | string, init?: IRequestInit): Promise; getComputedStyle(element: IElementIsolate, pseudoElement?: string): CSSStyleDeclaration; getComputedVisibility(node: INodeIsolate): Promise; getJsValue(path: string): Promise; isElementVisible(element: IElementIsolate): Promise; pause(): Promise; querySelector(selector: string): ISuperNode; querySelectorAll(selector: string): ISuperNodeList; xpathSelector(xpath: string, orderedNodeResults?: boolean): ISuperNode; xpathSelectorAll(xpath: string, orderedNodeResults?: boolean): Promise; takeScreenshot(options?: IScreenshotOptions): Promise; waitForPaintingStable(options?: IWaitForOptions): Promise; waitForResource(filter: IWaitForResourceFilter, options?: IWaitForResourceOptions): Promise; waitForResources(filter: IWaitForResourcesFilter, options?: IWaitForResourceOptions): Promise<(Resource | WebsocketResource)[]>; waitForElement(element: ISuperElement, options?: IWaitForElementOptions): Promise; waitForFileChooser(options?: IWaitForOptions): Promise; waitForLocation(trigger: ILocationTrigger, options?: IWaitForOptions): Promise; waitForLoad(status: ILoadStatus, options?: IWaitForOptions): Promise; waitForMillis(millis: number): Promise; waitForState(state: IDomState | DomState | IDomStateAllFn, options?: Pick): Promise; validateState(state: IDomState | DomState | IDomStateAllFn): Promise; flowCommand(commandFn: () => Promise, optionsOrExitState?: IDomStateAllFn | IFlowCommandOptions): Promise; registerFlowHandler(name: string, state: IDomState | DomState | IDomStateAllFn, handlerCallbackFn: (error?: Error) => Promise): Promise; triggerFlowHandlers(): Promise<{ triggeredFlowHandler?: string; matchedFlowHandlers: string[]; }>; toJSON(): any; addEventListener(eventType: K, listenerFn: IHeroEvents[K] & Function, options?: any): Promise; on(eventType: K, listenerFn: IHeroEvents[K] & Function, options?: any): Promise; once(eventType: K, listenerFn: IHeroEvents[K] & Function, options?: any): Promise; off(eventType: K, listenerFn: IHeroEvents[K] & Function): Promise; removeEventListener(eventType: K, listenerFn: IHeroEvents[K] & Function): Promise; connect(): Promise; } export {};