import { TwirpContext, TwirpServer } from 'twirp-ts';
import { StartJourneyRequest, StartJourneyResponse, JourneyProgressRequest, JourneyProgressResponse, JourneyInteractionRequest, JourneyInteractionResponse, EndJourneyRequest, EndJourneyResponse } from './telemetry.js';
export interface TelemetryPluginTwirp<T extends TwirpContext = TwirpContext> {
    StartJourney(ctx: T, request: StartJourneyRequest): Promise<StartJourneyResponse>;
    JourneyProgress(ctx: T, request: JourneyProgressRequest): Promise<JourneyProgressResponse>;
    JourneyInteraction(ctx: T, request: JourneyInteractionRequest): Promise<JourneyInteractionResponse>;
    EndJourney(ctx: T, request: EndJourneyRequest): Promise<EndJourneyResponse>;
}
export declare enum TelemetryPluginMethod {
    StartJourney = "StartJourney",
    JourneyProgress = "JourneyProgress",
    JourneyInteraction = "JourneyInteraction",
    EndJourney = "EndJourney"
}
export declare const TelemetryPluginMethodList: TelemetryPluginMethod[];
export declare function createTelemetryPluginServer<T extends TwirpContext = TwirpContext>(service: TelemetryPluginTwirp<T>): TwirpServer<TelemetryPluginTwirp<TwirpContext<import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>>>, T>;
//# sourceMappingURL=telemetry.twirp.d.ts.map