import { Location } from "./location.js"; import { Range } from "./range.js"; import { Side } from "./side.js"; import { Spec } from "./spec.js"; export declare class SpecWidth extends Spec { readonly range: Range; constructor(range: Range); } export declare class SpecHeight extends Spec { readonly range: Range; constructor(range: Range); } export declare abstract class SpecDirectionPosition extends Spec { readonly object: string; readonly range: Range; constructor(object: string, range: Range); } export declare class SpecAbove extends SpecDirectionPosition { } export declare class SpecBelow extends SpecDirectionPosition { } export declare class SpecLeftOf extends SpecDirectionPosition { } export declare class SpecRightOf extends SpecDirectionPosition { } export declare abstract class SpecComplex extends Spec { readonly object: string; readonly locations: Location[]; constructor(object: string, locations: Location[]); } export declare class SpecInside extends SpecComplex { partly: boolean; withPartlyCheck(): this; } export declare class SpecNear extends SpecComplex { } export declare class SpecOn extends SpecComplex { readonly sideHorizontal: Side; readonly sideVertical: Side; constructor(object: string, sideHorizontal: Side, sideVertical: Side, locations: Location[]); } export declare enum Alignment { CENTERED = "centered", TOP = "top", BOTTOM = "bottom", LEFT = "left", RIGHT = "right", ALL = "all", HORIZONTALLY = "horizontally", VERTICALLY = "vertically" } export declare abstract class SpecObjectWithErrorRate extends Spec { readonly object: string; readonly errorRate: number; constructor(object: string, errorRate?: number); } export declare enum CenteredLocation { ON = "on", INSIDE = "inside" } export declare class SpecCentered extends SpecObjectWithErrorRate { readonly alignment: Alignment; readonly location: CenteredLocation; constructor(object: string, alignment: Alignment, location: CenteredLocation, errorRate?: number); } export declare class SpecAligned extends SpecObjectWithErrorRate { readonly alignment: Alignment; constructor(object: string, alignment: Alignment, errorRate?: number); } export declare class SpecHorizontally extends SpecObjectWithErrorRate { readonly alignment: Alignment; constructor(object: string, alignment: Alignment, errorRate?: number); } export declare class SpecVertically extends SpecObjectWithErrorRate { readonly alignment: Alignment; constructor(object: string, alignment: Alignment, errorRate?: number); } export declare enum TextCheckType { IS = "is", CONTAINS = "contains", STARTS = "starts", ENDS = "ends", MATCHES = "matches" } export declare class SpecText extends Spec { readonly type: TextCheckType; readonly text: string; readonly operations: string[]; constructor(type: TextCheckType, text: string, operations?: string[]); } export declare class SpecCss extends Spec { readonly cssPropertyName: string; readonly type: TextCheckType; readonly text: string; readonly operations: string[]; constructor(cssPropertyName: string, type: TextCheckType, text: string, operations?: string[]); } export declare class SpecOcr extends Spec { readonly type: TextCheckType; readonly text: string; readonly operations: string[]; constructor(type: TextCheckType, text: string, operations?: string[]); } export declare enum ErrorRateType { PIXELS = "pixels", PERCENT = "percent" } export interface ImageErrorRate { value: number; type: ErrorRateType; } export interface ImageFilter { name: string; params: unknown[]; } export declare class SpecImage extends Spec { imagePaths: string[]; errorRate?: ImageErrorRate; tolerance?: number; originalFilters: ImageFilter[]; sampleFilters: ImageFilter[]; mapFilters: ImageFilter[]; selectedArea?: { left: number; top: number; width: number; height: number; }; stretch: boolean; cropIfOutside: boolean; analyzeOffset: number; ignoredObjectExpressions: string[]; } export interface ColorRange { range: Range; colorHex: string; } export declare class SpecColorScheme extends Spec { readonly colorRanges: ColorRange[]; constructor(colorRanges: ColorRange[]); } export declare class SpecVisible extends Spec { } export declare class SpecAbsent extends Spec { } export declare enum CountFetchType { ANY = "any", VISIBLE = "visible", ABSENT = "absent" } export declare class SpecCount extends Spec { readonly fetchType: CountFetchType; readonly pattern: string; readonly amount: Range; constructor(fetchType: CountFetchType, pattern: string, amount: Range); } export declare class SpecContains extends Spec { readonly childObjects: string[]; readonly partly: boolean; constructor(childObjects: string[], partly?: boolean); } export declare class SpecComponent extends Spec { readonly specPath: string; readonly frame: boolean; readonly args: Record; constructor(specPath: string, frame?: boolean, args?: Record); } //# sourceMappingURL=specs.d.ts.map