import type { Maybe } from "../../common/Maybe";
import type { ITelemetryReporter } from "../ITelemetryReporter";
import type { TelemetryEvent } from "../TelemetryEvent";
export interface UserData {
    userId?: string;
    organizationId?: string;
}
export declare class AmplitudeReporter<T extends string> implements ITelemetryReporter<T> {
    #private;
    private readonly getUserData;
    constructor(apiKey: string, getUserData: () => Promise<Maybe<UserData>>);
    reportTelemetry(data: TelemetryEvent<T>[]): Promise<void>;
}
