import { Optional, Resource } from "../../common";
import { ProfileReportStatus } from "../profile-report";
import { APIProfileReportSummary, ProfileTraitSummary, StoreProfileReportSummary } from "./interfaces";
export declare class ProfileReportSummary extends Resource {
    profileId: string;
    profileReportId: string;
    reportId: string;
    profileTraits: ProfileTraitSummary[];
    hasRead: boolean;
    status: ProfileReportStatus;
    isNew: boolean;
    wasGenerated: boolean;
    purchased: boolean;
    version: string;
    isReadable: boolean;
    constructor(profileId: string, profileReportId: string, reportId: string, profileTraits: ProfileTraitSummary[], hasRead: boolean, status: ProfileReportStatus, isNew: boolean, wasGenerated: boolean, purchased: boolean, version: string, isReadable: boolean);
    /**
     * The name of the profile-report-summary resource on the API server.
     */
    static get resourceName(): string;
    /**
     * The name of the service containing the profile-report-summary resource.
     */
    static get serviceName(): string;
    private static profileTraitSummarySerializeApi;
    private static profileTraitSummaryApiFactory;
    /**
     * Convert the profile-report-summary into a JSON serializable object for the API server.
     */
    serializeAPI(): Optional<APIProfileReportSummary, "id">;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The profile-report-summary data from the API server.
     */
    deserializeAPI(data: APIProfileReportSummary): void;
    /**
     * Serialize the profile-report-summary into a format for storing in the Redux store.
     */
    serializeRedux(): StoreProfileReportSummary;
    /**
     * Create a profile-report-summary from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The profile-report-summary object.
     */
    static apiFactory(data: APIProfileReportSummary): ProfileReportSummary;
    /**
     * Create a profile-report-summary from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The profile-report-summary object.
     */
    static reduxFactory(data: StoreProfileReportSummary): ProfileReportSummary;
}
