import { Resource } from "../../common";
import { APIUserPdfPreferenceReportsRequest, APIUserPdfPreferenceReportsResponse, ReportPdfRecommendationType, ReportPdfLabResultsType, ReportPdfRiskAssessmentsType, ReportPdfSectionsType, SavedStoreUserPdfPreferenceReports } from "./interfaces";
export declare class UserPdfPreferenceReports extends Resource {
    /**
     * The user's id.
     */
    userId: string;
    /**
     *  Unchecked sections in the preference.
     */
    uncheckSections: ReportPdfSectionsType[];
    /**
     * The recommendations to be unchecked
     */
    uncheckRecommendations: string[];
    /**
     * Lab results
     */
    labResultsType: ReportPdfLabResultsType;
    /**
     * Risk assessments
     */
    riskAssessmentsType: ReportPdfRiskAssessmentsType;
    /**
     * Recommendations type.
     */
    recommendationType: ReportPdfRecommendationType;
    constructor({ userId, uncheckSections, uncheckRecommendations, recommendationType, labResultsType, riskAssessmentsType, }: {
        userId: string;
        uncheckSections: ReportPdfSectionsType[];
        uncheckRecommendations: string[];
        labResultsType: ReportPdfLabResultsType;
        recommendationType: ReportPdfRecommendationType;
        riskAssessmentsType: ReportPdfRiskAssessmentsType;
    });
    /**
     * The name of the User pdf preference resource on the API server.
     */
    static get resourceName(): string;
    /**
     * The name of the service containing the user pdf preference resource.
     */
    static get serviceName(): string;
    /**
     * Convert the user pdf preference into a JSON serializable object for the API server.
     */
    serializeAPI(): APIUserPdfPreferenceReportsRequest;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The user pdf preference data from the API server.
     */
    deserializeAPI(data: APIUserPdfPreferenceReportsResponse): void;
    /**
     * Serialize the user pdf preference into a format for storing in the Redux store.
     */
    serializeRedux(): SavedStoreUserPdfPreferenceReports;
    /**
     * Create a user pdf preference from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The user pdf preference object.
     */
    static apiFactory(data: APIUserPdfPreferenceReportsResponse): UserPdfPreferenceReports;
    /**
     * Create a user pdf preference from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The user pdf preference object.
     */
    static reduxFactory(data: SavedStoreUserPdfPreferenceReports): UserPdfPreferenceReports;
}
