/// <reference types="@cloudflare/workers-types" />
/// <reference types="@cloudflare/workers-types/2023-07-01" />
import { ExperienceConfig, ExperienceQueue, ExperienceResults, Experience, Change, Inputs, Options, VisitorProfile } from './models';
import { StickyProcesor } from './sticky';
export declare class CfEdgeRelay {
    config: ExperienceConfig;
    queue: ExperienceQueue;
    generatedDefines: Object;
    results: ExperienceResults;
    deployId: string;
    isSnippetless: boolean;
    packageVersion: string;
    logger: any;
    additionalCookies: string[];
    additionalHeaders: Record<string, string>;
    inputs: Inputs;
    stickyProcessor?: StickyProcesor;
    variationMap: any;
    visitorProfile: VisitorProfile;
    constructor(DATA: any, options: Options, inputs: Inputs, logger: any);
    getAdditionalHeaders(): Headers;
    getStickyProcessor(): StickyProcesor;
    loadStickyData(): void;
    saveStickyData(): void;
    decide(context: ExecutionContext): Promise<void>;
    getChangesFromVariation(exp: Experience, variationIds: Set<string>): Change[];
    applyTransforms(rewriter: HTMLRewriter, existingSnippet?: string): HTMLRewriter;
    shouldDeferBrowserJs(): boolean;
    applyBrowserJs(rewriter: HTMLRewriter, cacheTTL: number, position: string, nonce: string): Promise<HTMLRewriter>;
    computeBrowserJS(cacheTTL?: number): Promise<string>;
    removeSnippetChange(existingSnippetParam: string): Change;
}
