import { ImageApiSelector } from "@iiif/presentation-3"; //#region src/annotation-targets/selector-types.d.ts type SvgShapeType = 'rect' | 'circle' | 'ellipse' | 'line' | 'polyline' | 'polygon' | 'path'; interface SupportedSelector { type: string; temporal?: { startTime: number; endTime?: number; }; spatial?: { unit?: 'percent' | 'pixel'; x: number; y: number; width?: number; height?: number; }; rotation?: number; rotationOrigin?: TransformPoint; translate?: TransformPoint; transform?: SelectorTransform; points?: [number, number][]; svg?: string; svgShape?: SvgShapeType; style?: SelectorStyle; boxStyle?: BoxStyle; } type BoxStyle = _BoxStyle & { ':hover'?: _BoxStyle; ':active'?: _BoxStyle; }; type TransformUnit = 'pixel' | 'percent'; type TransformPoint = { x: number; y: number; unit?: TransformUnit; xUnit?: TransformUnit; yUnit?: TransformUnit; }; type SelectorTransform = { rotation?: number; rotationOrigin?: TransformPoint; translate?: TransformPoint; transform?: string; transformOrigin?: string; }; type _BoxStyle = Partial<{ backgroundColor: string; opacity: number; boxShadow: string; borderColor: string; borderWidth: string; borderStyle: string; outlineColor: string; outlineWidth: string; outlineOffset: string; outlineStyle: string; border: string; outline: string; background: string; transform: string; transformOrigin: string; }>; interface SelectorStyle { fill?: string; fillOpacity?: number; stroke?: string; strokeOpacity?: number; strokeWidth?: string; strokeDasharray?: string; } interface BoxSelector extends SupportedSelector { type: 'BoxSelector'; spatial: { unit?: 'percent' | 'pixel'; x: number; y: number; width: number; height: number; }; rotation?: number; rotationOrigin?: TransformPoint; translate?: TransformPoint; transform?: SelectorTransform; } interface PointSelector extends SupportedSelector { type: 'PointSelector'; spatial: { x: number; y: number; }; rotation?: number; rotationOrigin?: TransformPoint; translate?: TransformPoint; transform?: SelectorTransform; } interface SvgSelector extends SupportedSelector { type: 'SvgSelector'; svg: string; svgShape?: SvgShapeType; points?: [number, number][]; spatial?: { unit: 'pixel'; x: number; y: number; width: number; height: number; }; rotation?: number; rotationOrigin?: TransformPoint; translate?: TransformPoint; transform?: SelectorTransform; } interface TemporalSelector extends SupportedSelector { type: 'TemporalSelector'; temporal: { startTime: number; endTime?: number; }; } interface RotationSelector extends SupportedSelector { type: 'RotationSelector'; rotation: number; } interface TemporalBoxSelector extends SupportedSelector { type: 'TemporalBoxSelector'; spatial: { unit?: 'percent' | 'pixel'; x: number; y: number; width: number; height: number; }; rotation?: number; rotationOrigin?: TransformPoint; translate?: TransformPoint; transform?: SelectorTransform; temporal: { startTime: number; endTime?: number; }; } type SupportedSelectors = TemporalSelector | BoxSelector | TemporalBoxSelector | PointSelector | SvgSelector | RotationSelector; type ParsedSelector = { selector: SupportedSelectors | null; selectors: SupportedSelectors[]; iiifRenderingHints?: ImageApiSelector; }; //#endregion export { RotationSelector as a, SupportedSelector as c, SvgShapeType as d, TemporalBoxSelector as f, TransformUnit as h, PointSelector as i, SupportedSelectors as l, TransformPoint as m, BoxStyle as n, SelectorStyle as o, TemporalSelector as p, ParsedSelector as r, SelectorTransform as s, BoxSelector as t, SvgSelector as u }; //# sourceMappingURL=selector-types--oQ8ojb7.d.ts.map