import { APIDiscreteResult, DiscreteResult, StoreDiscreteResult } from "../discrete-result";
import { MarkerResultBase, MenstrualPhase, ResultType, TimeOfDay } from "../marker-result-base";
import { APINumericResult, NumericResult, StoreNumericResult } from "../numeric-result";
import { Color } from "../range-category";
export declare class MarkerResult extends MarkerResultBase {
    constructor(profileId: string, takenAt: string, markerId: string | null, menstrualPhase: MenstrualPhase | null, timeOfDay: TimeOfDay | null, note: string | null, archived: boolean, resultType: ResultType, synonym: string, bmi: number | null, labShopOrderId: string | null, isStale: boolean | null, isMostRecent: boolean | null, score: number | null, color: Color | null, recommendationIds: string[], recommendationSlugs: string[]);
    /**
     * The name of the marker result resource on the API server.
     */
    static get resourceName(): string;
    /**
     * The name of the service containing the marker result resource.
     */
    static get serviceName(): string;
    /**
     * Create a marker result from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The marker result object.
     */
    static apiFactory(data: APIDiscreteResult): DiscreteResult;
    static apiFactory(data: APINumericResult): NumericResult;
    /**
     * Create a marker result from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The marker result object.
     */
    static reduxFactory(data: StoreDiscreteResult): DiscreteResult;
    static reduxFactory(data: StoreNumericResult): NumericResult;
}
