import { z } from 'zod'; import { AngularDirection, CENTER_LOCATIONS, CenterLocation, CornerLocation, Direction, Location, LOCATIONS, locationZ, OUTER_LOCATIONS, OuterLocation, X_LOCATIONS, XLocation, Y_LOCATIONS, YLocation } from '../base'; export { CENTER_LOCATIONS, type Location, LOCATIONS, locationZ, OUTER_LOCATIONS, X_LOCATIONS, Y_LOCATIONS, }; export declare const xZ: z.ZodEnum<{ left: "left"; right: "right"; }>; export declare const yZ: z.ZodEnum<{ top: "top"; bottom: "bottom"; }>; export declare const centerZ: z.ZodEnum<{ center: "center"; }>; export declare const outerZ: z.ZodEnum<{ left: "left"; right: "right"; top: "top"; bottom: "bottom"; }>; export declare const cornerZ: z.ZodObject<{ x: z.ZodEnum<{ left: "left"; right: "right"; }>; y: z.ZodEnum<{ top: "top"; bottom: "bottom"; }>; }, z.core.$strip>; export type X = XLocation; export type Y = YLocation; export type Outer = OuterLocation; export type Center = CenterLocation; export type Corner = CornerLocation; export type CornerString = "topLeft" | "topRight" | "bottomLeft" | "bottomRight"; export declare const crudeZ: z.ZodUnion, z.ZodEnum<{ left: "left"; right: "right"; top: "top"; bottom: "bottom"; center: "center"; }>, z.ZodCustom]>; export type Crude = z.infer; export declare const construct: (cl: Crude) => Location; export declare const swap: (cl: Crude) => Location; export declare const rotate: (loc: Outer, dir: AngularDirection) => Outer; export declare const direction: (cl: Crude) => Direction; export declare const xy: z.ZodObject<{ x: z.ZodUnion<[z.ZodEnum<{ left: "left"; right: "right"; }>, z.ZodEnum<{ center: "center"; }>]>; y: z.ZodUnion<[z.ZodEnum<{ top: "top"; bottom: "bottom"; }>, z.ZodEnum<{ center: "center"; }>]>; }, z.core.$strip>; export type XY = z.infer; export declare const TOP_LEFT: Corner; export declare const TOP_RIGHT: Corner; export declare const BOTTOM_LEFT: Corner; export declare const BOTTOM_RIGHT: Corner; export declare const CENTER: XY; export declare const TOP_CENTER: XY; export declare const BOTTOM_CENTER: XY; export declare const CENTER_RIGHT: XY; export declare const CENTER_LEFT: XY; export declare const XY_LOCATIONS: readonly XY[]; export declare const xyEquals: (a: XY, b: XY) => boolean; export declare const xyMatches: (a: XY, l: Partial | Location) => boolean; export declare const xyCouple: (a: XY) => [Location, Location]; export declare const isX: (a: Crude) => a is XLocation | CenterLocation; export declare const isY: (a: Crude) => a is YLocation; export declare const xyToString: (a: XY) => string; export declare const constructXY: (x: Crude | XY, y?: Crude) => XY; //# sourceMappingURL=location.d.ts.map