import { ISuperElement, ISuperNode, ISuperNodeList } from '@ulixee/awaited-dom/base/interfaces/super'; import { IRequestInit } from '@ulixee/awaited-dom/base/interfaces/official'; import SuperDocument from '@ulixee/awaited-dom/impl/super-klasses/SuperDocument'; import Storage from '@ulixee/awaited-dom/impl/official-klasses/Storage'; import CSSStyleDeclaration from '@ulixee/awaited-dom/impl/official-klasses/CSSStyleDeclaration'; import Request from '@ulixee/awaited-dom/impl/official-klasses/Request'; import { ILoadStatus, ILocationTrigger } from '@ulixee/unblocked-specification/agent/browser/Location'; import IWaitForResourceOptions from '@ulixee/hero-interfaces/IWaitForResourceOptions'; import IWaitForElementOptions from '@ulixee/hero-interfaces/IWaitForElementOptions'; import Response from '@ulixee/awaited-dom/impl/official-klasses/Response'; import IWaitForOptions from '@ulixee/hero-interfaces/IWaitForOptions'; import { IElementIsolate, IHTMLFrameElementIsolate, IHTMLIFrameElementIsolate, IHTMLObjectElementIsolate, INodeIsolate } from '@ulixee/awaited-dom/base/interfaces/isolate'; import IScreenshotOptions from '@ulixee/unblocked-specification/agent/browser/IScreenshotOptions'; import { INodeVisibility } from '@ulixee/js-path'; import IResourceFilterProperties from '@ulixee/hero-interfaces/IResourceFilterProperties'; import IDomState, { IDomStateAllFn } from '@ulixee/hero-interfaces/IDomState'; import IFlowCommandOptions from '@ulixee/hero-interfaces/IFlowCommandOptions'; import CoreTab from './CoreTab'; import Resource from './Resource'; import IWaitForResourceFilter from '../interfaces/IWaitForResourceFilter'; import WebsocketResource from './WebsocketResource'; import AwaitedEventTarget from './AwaitedEventTarget'; import CookieStorage from './CookieStorage'; import Hero from './Hero'; import FrameEnvironment from './FrameEnvironment'; import Dialog from './Dialog'; import FileChooser from './FileChooser'; import DomState from './DomState'; import { InternalPropertiesSymbol } from './internal'; import IWaitForResourcesFilter from '../interfaces/IWaitForResourcesFilter'; import CallsiteLocator from './CallsiteLocator'; interface ISharedInternalProperties { coreTabPromise: Promise; } interface IEventType { resource: (resource: Resource | WebsocketResource) => void; dialog: (dialog: Dialog) => void; } export default class Tab extends AwaitedEventTarget { #private; get [InternalPropertiesSymbol](): ISharedInternalProperties; constructor(hero: Hero, coreTabPromise: Promise, callsiteLocator: CallsiteLocator); get tabId(): Promise; get lastCommandId(): Promise; get url(): Promise; get isPaintingStable(): Promise; get isDomContentLoaded(): Promise; get isAllContentLoaded(): Promise; get mainFrameEnvironment(): FrameEnvironment; get cookieStorage(): CookieStorage; get frameEnvironments(): Promise; get document(): SuperDocument; get localStorage(): Storage; get sessionStorage(): Storage; get Request(): typeof Request; findResource(filter: IResourceFilterProperties, options?: { sinceCommandId: number; }): Promise; findResources(filter: IResourceFilterProperties, options?: { sinceCommandId: number; }): Promise; fetch(request: Request | string, init?: IRequestInit): Promise; getFrameEnvironment(element: IHTMLFrameElementIsolate | IHTMLIFrameElementIsolate | IHTMLObjectElementIsolate): Promise; getComputedStyle(element: IElementIsolate, pseudoElement?: string): CSSStyleDeclaration; goto(href: string, options?: { timeoutMs?: number; referrer?: string; }): Promise; goBack(options?: { timeoutMs?: number; }): Promise; goForward(options?: { timeoutMs?: number; }): Promise; reload(options?: { timeoutMs?: number; }): Promise; getJsValue(path: string): Promise; isElementVisible(element: IElementIsolate): Promise; getComputedVisibility(node: INodeIsolate): 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; waitForFileChooser(options?: IWaitForOptions): Promise; waitForPaintingStable(options?: IWaitForOptions): Promise; waitForLoad(status: ILoadStatus, options?: IWaitForOptions): Promise; waitForState(state: IDomState | DomState | IDomStateAllFn, options?: Pick): Promise; validateState(state: IDomState | DomState | IDomStateAllFn): Promise; registerFlowHandler(name: string, state: IDomState | DomState | IDomStateAllFn, handlerFn: (error?: Error) => Promise): Promise; triggerFlowHandlers(): Promise<{ triggeredFlowHandler?: string; matchedFlowHandlers: string[]; }>; flowCommand(commandFn: () => Promise, optionsOrExitState?: IDomStateAllFn | IFlowCommandOptions): Promise; waitForResource(filter: IWaitForResourceFilter, options?: IWaitForResourceOptions): Promise; waitForResources(filter: IWaitForResourcesFilter, options?: IWaitForResourceOptions): Promise<(Resource | WebsocketResource)[]>; waitForElement(element: ISuperElement, options?: IWaitForElementOptions): Promise; waitForLocation(trigger: ILocationTrigger, options?: IWaitForOptions): Promise; waitForMillis(millis: number): Promise; focus(): Promise; close(): Promise; toJSON(): any; } export declare function getCoreTab(tab: Tab): Promise; export declare function createTab(hero: Hero, coreTab: Promise, callsiteLocator: CallsiteLocator): Tab; export {};