import { type Point } from "./util/ranges.js"; export type Position = "before" | "after"; export type Unbreakable = 'float' | 'intrisicDimension' | 'horizontalLayout' | 'replacedElement' | 'subFragmentor' | false; export interface Breaker { matches: (elem: HTMLElement) => elem is E; break: (before: E, after: E) => void; unbreak: (before: E, after: E) => void; } export declare const breakers: Breaker[]; export declare const breakedAfterSym: unique symbol; export declare const breakedBeforeSym: unique symbol; export interface BreakedElement extends HTMLElement { [breakedAfterSym]?: BreakedElement; [breakedBeforeSym]?: BreakedElement; parentElement: BreakedElement | null; } export declare function breakAtPoint(source: T, breakPoint: Point, side?: Position): T; export declare function unbreak(before: BreakedElement, after: BreakedElement, position?: Position, scopeCarrierStack?: Element[]): void; export declare function unbreakableElement(element: Element): Unbreakable;