import type { HtmlRewriterAdapter } from '../adapters/HtmlRewriterAdapter';
import type { PipelineContext } from '../context';
import type { SurfaceDecisionResponse } from '../types';
export type SurfaceMarkers = {
componentsWithInvalidSelectors: string[];
markers: Record;
};
export type ComponentRange = {
markers: Marker[];
};
export type Marker = {
endTag: number | null;
startMarker: boolean;
endMarker: boolean;
nextEndMarker: number | null;
};
/**
* For any modifications with start or end markers, find the positions of those markers.
* Runs a single pass of the rewriter over a cloned response to build per-component marker maps.
*/
export declare const findMarkerPositions: (ctx: PipelineContext, response: Response, surfaceDecisions: SurfaceDecisionResponse, rewriter: HtmlRewriterAdapter) => Promise;