/// import { Selector } from "webdriverio"; import { CoreOptions, Response, UrlOptions } from "request"; import { ImageCompareContext } from "../enums"; import { WdioCheckElementMethodOptions, WdioCheckFullPageMethodOptions, WdioCheckScreenMethodOptions } from "wdio-image-comparison-service"; import { ScreenshotOutput } from "webdriver-image-comparison/build/helpers/afterScreenshot.interfaces"; import { PreFilterFunction } from "deep-diff"; export declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; export declare type TElementCoordinates = "x" | "y"; export declare type TElementSize = { width?: number; height?: number; }; export declare type TElementLocation = { x: number; y: number; }; export interface IBrowserCondition { name: string; evaluate(): IExpectedConditionResult; } export interface IElementCondition { name: string; evaluate(selector: Selector): IExpectedConditionResult; } export interface IHttpResponse { error: any; response: Response; } export interface IHttpRequest { options: CoreOptions & UrlOptions; } declare type TPageMetaProps = { url: string; title: string; locators: { [key: string]: string; }; [key: string]: any; }; declare type TComponentMetaProps = { locators: { [key: string]: string; }; [key: string]: any; }; export interface IPageMeta { default: TPageMetaProps; [key: string]: Partial; } export interface IComponentMeta { default: TComponentMetaProps; [key: string]: TComponentMetaProps; } export interface IExpectedConditionResult { name: string; message: string; isSuccess: boolean; } export interface IImageCompare { context: ImageCompareContext; options?: WdioCheckElementMethodOptions | WdioCheckFullPageMethodOptions | WdioCheckScreenMethodOptions; element?: WebdriverIO.Element; } export interface IImageSave extends ScreenshotOutput { parsedName: string; } export interface IJSONDiffOptions { regex?: { paths: string[]; expressions: string[]; }; prefilter?: PreFilterFunction; } export interface IBrowserPerformanceEntry { cancelable?: boolean; connectEnd?: number; connectStart?: number; decodedBodySize?: number; domainLookupEnd?: number; domainLookupStart?: number; duration?: number; encodedBodySize?: number; entryType?: string; fetchStart?: number; initiatorType: "css" | "xmlhttprequest" | "img" | "navigation" | "link" | "script"; name: string; nextHopProtocol?: string; redirectEnd?: number; redirectStart?: number; requestStart?: number; responseEnd?: number; responseStart?: number; secureConnectionStart?: number; serverTiming?: number[]; startTime?: number; transferSize?: number; workerStart?: number; workerTiming?: number[]; } export interface ICustomTruthy { actual: any; expected: any; result: boolean; } export {};