import { Redis } from "ioredis";
import type { Logger } from "../shared/logger";
export interface ExecutionError {
    toString(): string;
    endpoint: string;
    tokenId: string;
    responseBody: string;
    responseStatus: number;
}
export declare function replaceLocalhostWithDockerHost(_url: string): string;
export interface QuirrelWorkerConfig {
    redisFactory: () => Redis;
    enableUsageMetering?: boolean;
    runningInDocker?: boolean;
    concurrency?: number;
    disableTelemetry?: boolean;
    logger?: Logger;
    incidentReceiver?: {
        endpoint: string;
        passphrase: string;
    };
    webhookSigningPrivateKey?: string;
    enableSSRFPrevention?: boolean;
    postHogApiKey?: string;
}
export declare function createWorker({ redisFactory, enableUsageMetering, runningInDocker, concurrency, disableTelemetry, logger, incidentReceiver, webhookSigningPrivateKey, enableSSRFPrevention, postHogApiKey, }: QuirrelWorkerConfig): Promise<{
    close: () => Promise<void>;
}>;
