import { Optional } from '@ephox/katamari'; import { type SugarElement, SugarPosition } from '@ephox/sugar'; import * as Boxes from '../../alien/Boxes'; import { type PositionCss } from '../view/PositionCss'; import type { RepositionDecision } from '../view/Reposition'; type NoneOrigin = () => T; type RelativeOrigin = (x: number, y: number, width: number, height: number) => T; type FixedOrigin = (x: number, y: number, width: number, height: number) => T; export interface OriginAdt { fold: (none: NoneOrigin, relative: RelativeOrigin, fixed: FixedOrigin) => T; match: (branches: { none: NoneOrigin; relative: RelativeOrigin; fixed: FixedOrigin; }) => T; log: (label: string) => void; } declare const reposition: (origin: OriginAdt, decision: RepositionDecision) => PositionCss; declare const toBox: (origin: OriginAdt, element: SugarElement) => Boxes.Bounds; declare const viewport: (origin: OriginAdt, optBounds: Optional) => Boxes.Bounds; declare const translate: (origin: OriginAdt, x: number, y: number) => SugarPosition; declare const cata: (subject: OriginAdt, onNone: NoneOrigin, onRelative: RelativeOrigin, onFixed: FixedOrigin) => B; declare const none: NoneOrigin; declare const relative: RelativeOrigin; declare const fixed: FixedOrigin; export { none, relative, fixed, reposition, viewport, toBox, translate, cata }; //# sourceMappingURL=Origins.d.ts.map