import { InferenceAgentLLMMetricsPayload, type ULID, type APIResponse, type ServerToClientAPIRequest } from "@infersec/definitions";
import { Logger } from "@infersec/logger";
import { Configuration } from "../configuration.js";
export declare function handleSSERequests({ apiURL, configuration, logger, modelID, onRequest, onRequestEnd, onRequestStart, reportMetrics, signal }: {
    apiURL: string;
    configuration: Configuration;
    logger: Logger;
    modelID: ULID;
    onRequest: ({ request, signal }: {
        request: ServerToClientAPIRequest;
        signal?: AbortSignal;
    }) => Promise<APIResponse>;
    onRequestEnd?: (request: ServerToClientAPIRequest) => Promise<void> | void;
    onRequestStart?: (request: ServerToClientAPIRequest) => Promise<void> | void;
    reportMetrics: (payload: InferenceAgentLLMMetricsPayload) => Promise<void>;
    signal?: AbortSignal;
}): Promise<void>;
