import type { DashboardTrendStatus } from "../../components/dashboard/data/contentTypes";
export type ReportPatientDto = {
    name: string;
    gender?: string | null;
    chrono_age?: number | null;
    bio_age?: number | null;
};
export type NumericRangeDto = {
    low?: number | null;
    high?: number | null;
    text?: string | null;
};
export type DashboardPageDto = {
    patient: ReportPatientDto;
    overall_score?: number | null;
    metaflammation: {
        value: number;
        max: number;
    } | null;
    labs_last_date?: string | null;
    questionnaire_last_date?: string | null;
    wearable_last_activity?: string | null;
    triads: readonly DashboardTriadDto[];
    lab_metrics: readonly DashboardLabMetricDto[];
};
export type DashboardTriadDto = {
    number: number;
    name: string;
    total_score?: number | null;
    lab_score?: number | null;
    survey_score?: number | null;
    interpretation?: string | null;
    organs: readonly DashboardOrganDto[];
};
export type DashboardOrganDto = {
    name: string;
    total_score?: number | null;
    lab_score?: number | null;
    survey_score?: number | null;
    interpretation?: string | null;
};
export type DashboardLabMetricDto = {
    name: string;
    value?: number | null;
    unit?: string | null;
    interpretation?: string | null;
    status: DashboardTrendStatus;
    normal_range: NumericRangeDto | null;
    treatment_range: NumericRangeDto | null;
    indicator_percent?: number | null;
};
export type TotalPredictiveIndexPageDto = {
    triads: readonly TotalPredictiveTriadDto[];
};
export type TotalPredictiveTriadDto = {
    number: number;
    name: string;
    score: number;
    interpretation?: string | null;
    categories: readonly TotalPredictiveCategoryDto[];
};
export type TotalPredictiveCategoryDto = {
    name: string;
    symptom_score?: number | null;
    lab_score?: number | null;
    total_score?: number | null;
    previous_symptom_score?: number | null;
    previous_lab_score?: number | null;
    previous_total_score?: number | null;
};
export type WellnessIndicatorsPageDto = {
    indicators: readonly WellnessIndicatorDto[];
};
export type WellnessIndicatorDto = {
    name: string;
    score: number;
    interpretation?: string | null;
    zones: {
        low: {
            min: number;
            max: number;
        };
        moderate: {
            min: number;
            max: number;
        };
        high: {
            min: number;
            max: number;
        };
    };
};
export type QuestionnaireAnalysisPageDto = {
    triads: readonly QuestionnaireTriadDto[];
};
export type QuestionnaireTriadDto = {
    number: number;
    name: string;
    survey_score?: number | null;
    categories: readonly QuestionnaireCategoryDto[];
};
export type QuestionnaireCategoryDto = {
    name: string;
    symptom_score?: number | null;
    trend_zone?: string | null;
    previous_symptom_score?: number | null;
};
export type SupplementSchedulePageDto = {
    supplements: readonly SupplementDto[];
    practitioner_notes?: readonly string[] | null;
};
export type SupplementDto = {
    name: string;
    triad_numbers: readonly number[];
    image_url?: string | null;
    schedule: {
        morning?: string | null;
        noon?: string | null;
        afternoon?: string | null;
        dinner?: string | null;
        bedtime?: string | null;
    };
};
export type LabResultsPageDto = {
    groups: readonly LabResultsGroupDto[];
};
export type LabResultsGroupDto = {
    triad_number?: number | null;
    triad_name: string;
    organ_name: string;
    metrics: readonly LabResultsMetricDto[];
};
export type LabResultsMetricDto = {
    name: string;
    value?: number | null;
    unit?: string | null;
    normal_range: NumericRangeDto | null;
    treatment_range: NumericRangeDto | null;
    previous_value?: number | null;
    indicator_percent?: number | null;
    interpretation?: string | null;
    status: DashboardTrendStatus;
};
export type SuggestedProductsPageDto = {
    triad_number?: number | null;
    triad_name?: string | null;
    organ_metrics: readonly {
        name: string;
        score: number;
        indicator_percent: number;
        normal_range: NumericRangeDto | null;
        previous_score: number | null;
    }[];
    symptoms: readonly string[];
    products: readonly {
        name: string;
        sku?: string | null;
        image_url?: string | null;
        tagline?: string | null;
    }[];
};
export type LabAnalysisPageDto = {
    triads: readonly LabAnalysisTriadDto[];
};
export type LabAnalysisTriadDto = {
    number: number;
    name: string;
    lab_score?: number | null;
    interpretation?: string | null;
    systems: readonly string[];
    markers: readonly {
        name: string;
        direction: string;
    }[];
};
export type AlertLabSummaryPageDto = {
    alerts: readonly AlertLabMetricDto[];
    dind_conditions?: readonly {
        name: string;
        description: string;
    }[];
};
export type AlertLabMetricDto = {
    code?: string | null;
    name: string;
    value?: number | null;
    unit?: string | null;
    interpretation?: string | null;
    status: DashboardTrendStatus;
    normal_range: NumericRangeDto | null;
    indicator_percent?: number | null;
};
export type OrganContentTriadDto = {
    number: number;
    name: string;
    image_url: string;
};
export type OrganContentImagesDto = {
    body_url: string;
    organ_url: string;
};
export type OrganContentListItemDto = string | {
    text: string;
    children: readonly string[];
};
export type OrganContentBlockDto = {
    type: "paragraph";
    text: string;
} | {
    type: "subheading";
    text: string;
} | {
    type: "list";
    items: readonly OrganContentListItemDto[];
} | {
    type: "table";
    rows: readonly (readonly string[])[];
};
export type OrganContentSectionDto = {
    title: string;
    blocks: readonly OrganContentBlockDto[];
};
export type OrganContentStageDto = {
    number: number;
    title: string;
    subtitle?: string | null;
    image_url: string;
    highlights: readonly string[];
    symptoms: readonly string[];
};
export type OrganContentDto = {
    key: string;
    triad: OrganContentTriadDto;
    images: OrganContentImagesDto;
    sections: readonly OrganContentSectionDto[];
    stages?: readonly OrganContentStageDto[];
};
export type OrganContentMap = {
    readonly [organKey: string]: OrganContentDto;
};
export type TriadContentDto = {
    number: number;
    name: string;
    image_url: string;
    organ_keys: readonly string[];
    explainer_paragraphs: readonly string[];
};
export type IntroductionTriadSummaryDto = {
    number: number;
    name: string;
    image_url: string;
    organs_line: string;
    headline: string;
    description: string;
};
export type IntroductionContentDto = {
    sections: readonly OrganContentSectionDto[];
    triad_summaries: readonly IntroductionTriadSummaryDto[];
    quote: {
        icon_url: string;
        text: string;
        signature: string;
    };
    lifestyle_image_url: string;
};
export type CortisolVariantDto = {
    kind: string;
    triad_image_url: string;
    heading: string;
    sub_heading: string;
    lab_title: string;
    ranges: ReadonlyArray<{
        label: string;
        tone: string;
    }>;
    blocks: readonly OrganContentBlockDto[];
};
export type CortisolContentDto = {
    urinary: CortisolVariantDto;
    salivary: CortisolVariantDto;
};
export type AlertLabContentItemDto = {
    is_paragraph: boolean;
    text: string;
};
export type AlertLabContentEntryDto = {
    key: string;
    sections: {
        default?: readonly AlertLabContentItemDto[];
        low?: readonly AlertLabContentItemDto[];
        high?: readonly AlertLabContentItemDto[];
        trend_low?: readonly AlertLabContentItemDto[];
        trend_high?: readonly AlertLabContentItemDto[];
        optimal?: readonly AlertLabContentItemDto[];
    };
};
export type AlertLabContentMap = {
    readonly [labKey: string]: AlertLabContentEntryDto;
};
export type ReportPageDtoByNavId = {
    dashboard: DashboardPageDto;
    "total-predictive-index": TotalPredictiveIndexPageDto;
    "wellness-indicators": WellnessIndicatorsPageDto;
    "questionnaire-analysis": QuestionnaireAnalysisPageDto;
    "supplement-schedule": SupplementSchedulePageDto;
    "lab-results": LabResultsPageDto;
    "suggested-products": SuggestedProductsPageDto;
    "lab-analysis": LabAnalysisPageDto;
    "alert-lab-summary": AlertLabSummaryPageDto;
};
export type ReportPageNavKey = keyof ReportPageDtoByNavId;
export type ReportPageDtoFor<K extends ReportPageNavKey> = ReportPageDtoByNavId[K];
