import { ContextType, TimePeriodUnit, APIRecommendationSummary, StoreRecommendationSummary } from "../../common";
import { APIReportRecommendation, StoreReportRecommendation } from "../../reports";
/**
 * The ProfileRegimenRecommendation interface for the Redux store.
 */
export interface StoreProfileRegimenRecommendation {
    id: string;
    profileId: string;
    recommendationId: string;
    recommendationSlug: string;
    isOngoing: boolean;
    startDate: number | null;
    context: ContextType;
    frequencyValue: number | null;
    frequencyUnit: TimePeriodUnit | null;
    durationValue: number | null;
    durationUnit: TimePeriodUnit | null;
    customDosageValue: number | null;
    customDosageUnit: string | null;
    recommendation: StoreRegimensRecommendationSummary;
}
/**
 * The ProfileRegimenRecommendation interface for the API server.
 */
export interface APIProfileRegimenRecommendation {
    id?: string;
    profile_id: string;
    recommendation_id: string;
    recommendation_slug: string;
    is_ongoing: boolean;
    start_date: number | null;
    context: ContextType;
    frequency_value: number | null;
    frequency_unit: TimePeriodUnit | null;
    duration_value: number | null;
    duration_unit: TimePeriodUnit | null;
    custom_dosage_value: number | null;
    custom_dosage_unit: string | null;
    recommendation: APIRegimensRecommendationSummary;
}
export { TimePeriodUnit };
export declare type StoreRegimensRecommendationSummary = Omit<StoreRecommendationSummary, "relatedName" | "area" | "matchedRangeName" | "color" | "reportType"> & Pick<StoreReportRecommendation, "slug" | "conflictingSlugs">;
export declare type APIRegimensRecommendationSummary = Omit<APIRecommendationSummary, "related_name" | "area" | "matched_range_name" | "color" | "report_type"> & Pick<APIReportRecommendation, "slug" | "conflicting_slugs">;
export declare type RegimensRecommendationSummary = StoreRegimensRecommendationSummary;
export declare type DeleteBySlugPayload = {
    slug: string;
    profileId: string;
};
export declare type EditBySlugPayload = DeleteBySlugPayload & Partial<Pick<StoreProfileRegimenRecommendation, "isOngoing" | "durationUnit" | "durationValue" | "frequencyUnit" | "frequencyValue" | "customDosageUnit" | "customDosageValue">>;
