export type MetabolicBackendWebhookKind = "stealth_health" | "stealth_health_short_report" | "stealth_health_junction";
export type MetabolicBackendPatientHeaders = {
    userId: string;
    userEmail?: string | null;
};
export type MetabolicPatientProgressMilestone = {
    status: string;
    completed_at: string | null;
    webhook_delivery_id?: number;
    report_id?: string | null;
    questionnaire_response_id?: string | null;
};
export type MetabolicPatientProgress = {
    patient_id: string;
    milestones: Record<string, MetabolicPatientProgressMilestone>;
};
export type MetabolicShortReportMetricSummary = {
    id?: string;
    tag?: string;
    name?: string;
    score?: number | string | null;
    max_score?: number | string | null;
    risk?: string | null;
    risk_label?: string | null;
    total_questions?: number | string | null;
    yes_count?: number | string | null;
    no_count?: number | string | null;
};
export type MetabolicShortReportAnswerSummary = {
    key?: string;
    category?: string;
    question?: string;
    answer?: string;
    score?: number | string | null;
};
export type MetabolicShortReportSummary = {
    patient_id: string;
    status: string;
    generated_at: string | null;
    report_id: string | null;
    questionnaire_response_id: string | null;
    request_id: string | null;
    mode: string | null;
    summary?: MetabolicShortReportMetricSummary | null;
    answers?: MetabolicShortReportAnswerSummary[];
    overall: MetabolicShortReportMetricSummary | null;
    triads: MetabolicShortReportMetricSummary[];
    top_categories: MetabolicShortReportMetricSummary[];
};
export type DispatchMetabolicBackendWebhookOptions = {
    apiKey: string;
    kind: MetabolicBackendWebhookKind;
    body: unknown;
    headers?: HeadersInit;
    fetchImpl?: typeof fetch;
    signal?: AbortSignal;
};
export declare function getMetabolicBackendApiBaseUrl(apiKey?: string): string;
export declare function buildMetabolicBackendWebhookUrl({ apiKey, kind, }: {
    apiKey: string;
    kind: MetabolicBackendWebhookKind;
}): string;
export declare function dispatchMetabolicBackendWebhook({ apiKey, kind, body, headers, fetchImpl, signal, }: DispatchMetabolicBackendWebhookOptions): Promise<Response>;
export declare function parseMetabolicBackendJsonResponse<T = Record<string, unknown>>(response: Response): Promise<T>;
export declare function fetchMetabolicPatientProgress({ apiKey, patient, fetchImpl, signal, }: {
    apiKey: string;
    patient: MetabolicBackendPatientHeaders;
    fetchImpl?: typeof fetch;
    signal?: AbortSignal;
}): Promise<MetabolicPatientProgress>;
export declare function fetchMetabolicShortReportSummary({ apiKey, patient, questionnaireResponseId, fetchImpl, signal, }: {
    apiKey: string;
    patient: MetabolicBackendPatientHeaders;
    questionnaireResponseId?: string | null;
    fetchImpl?: typeof fetch;
    signal?: AbortSignal;
}): Promise<MetabolicShortReportSummary>;
