export type HtmlRewriterElement = { prepend(content: string, options?: { html?: boolean; }): void; append(content: string, options?: { html?: boolean; }): void; }; export type HtmlRewriterRuntime = { on(selector: 'head' | 'body', handler: { element: (element: HtmlRewriterElement) => void; }): HtmlRewriterRuntime; transform(response: Response): Response; }; export type HtmlRewriterConstructor = new () => HtmlRewriterRuntime; export type HtmlRewriterMode = 'auto' | 'native' | 'worker-tools' | 'fallback'; export interface HtmlRewriterProvider { createHtmlRewriter(): Promise; setMode(mode: HtmlRewriterMode): void; } export interface HtmlRewriterLogger { warn(message: string): void; } export interface DefaultHtmlRewriterProviderOptions { mode?: HtmlRewriterMode; logger?: HtmlRewriterLogger; getNativeHtmlRewriter?: () => HtmlRewriterConstructor | undefined; loadWorkerToolsHtmlRewriter?: () => Promise; } export declare class DefaultHtmlRewriterProvider implements HtmlRewriterProvider { private htmlRewriterConstructorPromise?; private htmlRewriterMode; private logger; private getNativeHtmlRewriter; private loadWorkerToolsHtmlRewriter; constructor(options?: DefaultHtmlRewriterProviderOptions); setMode(mode: HtmlRewriterMode): void; createHtmlRewriter(): Promise; private resolveHtmlRewriterConstructor; }