import type { CortisolContentDto, OrganContentMap } from "../../../MetabolicDashboard/api/reportPageTypes";
import type { TriadTrendBarConfig } from "../triadTrendIndicator";
export type WelcomeActionId = "schedule-labs" | "export-reports";
export type DashboardWelcomeContent = {
    title: string;
    paragraphs: readonly string[];
    actions: ReadonlyArray<{
        id: WelcomeActionId;
        label: string;
    }>;
};
export type DashboardOverallScoreContent = {
    sectionTitle: string;
    scorePercent: number;
    score: number;
    scorePercentClassName: string;
    infoAriaLabel?: string;
    infoTooltip?: string;
    questionnaireRowLabel?: string;
    questionnaireLastLabel?: string;
    labsRowLabel: string;
    labsLastLabel: string;
    wearableRowLabel: string;
    wearableValueLabel: string;
};
export type DashboardMetaflammationContent = {
    title: string;
    value: number;
    max: number;
    infoAriaLabel?: string;
    infoTooltip?: string;
    centerValueColor?: string;
};
export type TriadRadarReportContent = {
    title: string;
    infoAriaLabel: string;
    infoTooltip?: string;
    labels: readonly [string, string, string];
    values: readonly [number, number, number];
    fill: string;
    stroke: string;
    viewReportButtonLabel: string;
};
export type LabMetricRangeCardContent = {
    title: string;
    valueDisplay: string;
    indicatorPercent: number;
    normalRangeLabel: string;
    normalRangeValue: string;
    currentRangeLabel: string;
    currentRangeValue: string;
    infoAriaLabel: string;
    infoTooltip?: string;
    downloadAriaLabel: string;
};
export type DashboardTrendStatus = "optimal" | "trending" | "high" | "low";
export type DashboardTrendStatusExplanationPanelContent = {
    panelTitle?: string;
    bodyParagraphs: readonly string[];
    organKey?: string;
};
export type DashboardTriadTrendChipContent = {
    triadNumber: number;
    name: string;
    aggregateScoreDisplay: string;
    trendZone?: QuestionnaireTrendZone;
};
export type DashboardTriadTrendCategoryRowContent = {
    name: string;
    infoAriaLabel: string;
    infoTooltip?: string;
    symptomScore: string;
    labScore: string;
    totalScore: string;
    status: DashboardTrendStatus;
    statusExplanationPanel?: DashboardTrendStatusExplanationPanelContent;
};
export type DashboardTotalPredictiveTrendsContent = {
    sectionTitle: string;
    infoAriaLabel: string;
    infoTooltip?: string;
    lastLabsCaption?: string;
    lastLabsLabel: string;
    viewAllLabel: string;
    viewAllLabelCompact?: string;
    triads: readonly DashboardTriadTrendChipContent[];
    categoriesByTriadIndex: readonly (readonly DashboardTriadTrendCategoryRowContent[])[];
};
export type DashboardAlertLabTableRowContent = {
    name: string;
    infoAriaLabel: string;
    infoTooltip?: string;
    symptomScore: string;
    labScore: string;
    totalScore: string;
    indicatorPercent?: number;
    status: DashboardTrendStatus;
    statusExplanationPanel?: DashboardTrendStatusExplanationPanelContent;
};
export type DashboardAlertLabSummaryTableContent = {
    sectionTitle: string;
    infoAriaLabel: string;
    infoTooltip?: string;
    lastLabsCaption?: string;
    lastLabsLabel: string;
    viewAllLabel: string;
    viewAllLabelCompact?: string;
    rows: readonly DashboardAlertLabTableRowContent[];
};
export type DashboardPatientSummaryRow = readonly [string, string];
export type DashboardPatientSummaryContent = {
    patientName: string;
    initials: string;
    rows: readonly DashboardPatientSummaryRow[];
};
export type DashboardTabContent = {
    pageHeader: {
        title: string;
        subtitle: string;
    };
    patientSummary?: DashboardPatientSummaryContent;
    welcome?: DashboardWelcomeContent;
    overallScore?: DashboardOverallScoreContent;
    metaflammation?: DashboardMetaflammationContent;
    totalPredictiveTrends?: DashboardTotalPredictiveTrendsContent;
    alertLabSummaryTable?: DashboardAlertLabSummaryTableContent;
    organContent?: OrganContentMap;
};
export type TriadResiliencyCategoryContent = {
    title: string;
    symptomScore: string;
    labScore: string;
    totalScore: string;
    previousSymptom?: string;
    previousLab?: string;
    previousTotal?: string;
    trendIndicatorPercent?: number;
    status?: DashboardTrendStatus;
    organKey?: string;
};
export type TriadResiliencyCardContent = {
    triadNumber: number;
    heading: string;
    aggregateScore: string;
    aggregateTrendZone?: QuestionnaireTrendZone;
    infoAriaLabel: string;
    infoTooltip?: string;
    currentRangeLabel?: string;
    previousRangeLabel?: string;
    trendBar?: TriadTrendBarConfig;
    categories: readonly TriadResiliencyCategoryContent[];
};
export type TotalPredictiveIndexTabContent = {
    pageHeader: {
        title: string;
        subtitle: string;
    };
    triadCards: readonly TriadResiliencyCardContent[];
    organContent?: OrganContentMap;
    cortisolContent?: CortisolContentDto;
};
export type WellnessIndicatorZoneBounds = {
    min: number;
    max: number;
};
export type WellnessIndicatorZones = {
    low: WellnessIndicatorZoneBounds;
    moderate: WellnessIndicatorZoneBounds;
    high: WellnessIndicatorZoneBounds;
};
export type WellnessIndicatorCardContent = {
    title: string;
    score: number;
    infoAriaLabel: string;
    infoTooltip?: string;
    zones: WellnessIndicatorZones;
};
export type WellnessIndicatorsTabContent = {
    pageHeader: {
        title: string;
        subtitle: string;
    };
    indicators: readonly DashboardAlertLabTableRowContent[];
};
export type QuestionnaireTrendZone = "low" | "moderate" | "high";
export type QuestionnaireCategoryContent = {
    title: string;
    infoAriaLabel: string;
    infoTooltip?: string;
    symptomScore: string;
    previousSymptom?: string;
    trendZone: QuestionnaireTrendZone;
    organKey?: string;
};
export type QuestionnaireAnalysisSectionContent = {
    triadNumber: number;
    heading: string;
    aggregateScore: string;
    aggregateTrendZone: QuestionnaireTrendZone;
    categories: readonly QuestionnaireCategoryContent[];
};
export type QuestionnaireAnalysisTabContent = {
    pageHeader: {
        title: string;
        subtitle: string;
    };
    sections: readonly QuestionnaireAnalysisSectionContent[];
    organContent?: OrganContentMap;
};
export type SupplementScheduleRowContent = {
    timeLabel: string;
    dosage: string | null;
};
export type SupplementScheduleCardContent = {
    title: string;
    triadNumbers?: readonly number[];
    imageSrc?: string;
    imageAlt?: string;
    scheduleRows: readonly SupplementScheduleRowContent[];
};
export type PractitionerNotesContent = {
    title: string;
    items: readonly string[];
};
export type SupplementScheduleTabContent = {
    pageHeader: {
        title: string;
        subtitle: string;
    };
    cards: readonly SupplementScheduleCardContent[];
    practitionerNotes?: PractitionerNotesContent;
};
export type LabResultsMetricContent = {
    title: string;
    infoAriaLabel: string;
    infoTooltip?: string;
    normalRange: string;
    currentRange: string;
    previousRange?: string;
    indicatorPercent: number;
    status: DashboardTrendStatus;
};
export type LabResultsGroupContent = {
    triadNumber?: number | null;
    title: string;
    subtitle: string;
    metrics: readonly LabResultsMetricContent[];
};
export type LabResultsIntroContent = {
    triadNumber: number;
    heading: string;
    paragraphs: readonly string[];
    videoAriaLabel?: string;
};
export type LabResultsTabContent = {
    pageHeader: {
        title: string;
        subtitle: string;
    };
    intro?: LabResultsIntroContent;
    intros?: readonly LabResultsIntroContent[];
    groups: readonly LabResultsGroupContent[];
};
export type SuggestedProductItemContent = {
    imageSrc?: string;
    imageAlt: string;
    name: string;
    tagline?: string;
};
export type SuggestedProductsTabContent = {
    pageHeader: {
        title: string;
        subtitle: string;
    };
    intro?: LabResultsIntroContent;
    labSectionTitle: string;
    labMetrics: readonly LabResultsMetricContent[];
    symptomsSectionTitle: string;
    symptoms: readonly string[];
    productsSectionTitle: string;
    products: readonly SuggestedProductItemContent[];
};
export type LabAnalysisMarkerRowContent = {
    label: string;
    arrows: string;
};
export type LabAnalysisSectionContent = {
    triadNumber: number;
    heading: string;
    aggregateScore: string;
    systemsBanner: string;
    markers: readonly LabAnalysisMarkerRowContent[];
    trendZone: QuestionnaireTrendZone;
    descriptionPrimary?: string;
    descriptionSecondary?: string;
};
export type LabAnalysisTabContent = {
    pageHeader: {
        title: string;
        subtitle: string;
    };
    sections: readonly LabAnalysisSectionContent[];
};
export type AlertLabSummaryPairRowContent = {
    left: string;
    right: string | null;
};
export type AlertLabSummaryCardContent = {
    metricTitle: string;
    statusText: string;
    indicatorPercent: number;
    openingParagraph: string;
    referenceLine: string | null;
    risksLeadParagraph: string;
    riskRows: readonly AlertLabSummaryPairRowContent[];
    nutrientsLeadParagraph: string;
    nutrientRows: readonly AlertLabSummaryPairRowContent[];
    labCode?: string | null;
};
export type AlertLabSummaryTabContent = {
    pageHeader: {
        title: string;
        subtitle: string;
    };
    indicators: readonly DashboardAlertLabTableRowContent[];
};
