import type { Universe } from '@ephox/boss'; import { Optional } from '@ephox/katamari'; import { type SpotPoint } from '@ephox/phoenix'; export interface TextSeekerPhase { fold: (abort: () => T, kontinue: () => T, finish: (info: SpotPoint) => T) => T; match: (branches: { abort: () => T; kontinue: () => T; finish: (info: SpotPoint) => T; }) => T; log: (label: string) => void; } export interface TextSeekerOutcome { fold: (aborted: () => T, edge: (element: E) => T, success: (info: SpotPoint) => T) => T; match: (branches: { aborted: () => T; edge: (element: E) => T; success: (info: SpotPoint) => T; }) => T; log: (label: string) => void; } declare const phase: { abort: () => TextSeekerPhase; kontinue: () => TextSeekerPhase; finish: (info: SpotPoint) => TextSeekerPhase; }; export type TextSeekerPhaseConstructor = typeof phase; export type TextSeekerPhaseProcessor = (universe: Universe, phase: TextSeekerPhaseConstructor, item: E, text: string, offsetOption: Optional) => TextSeekerPhase; export declare const TextSeeker: { repeatLeft: (universe: Universe, item: E, offset: number, process: TextSeekerPhaseProcessor) => TextSeekerOutcome; repeatRight: (universe: Universe, item: E, offset: number, process: TextSeekerPhaseProcessor) => TextSeekerOutcome; }; export {}; //# sourceMappingURL=TextSeeker.d.ts.map