import { Resource } from "../../common";
import { APIProfileDetail, ProfileType, StoreProfileDetail } from "./interfaces";
export declare class ProfileDetail extends Resource {
    userId: string;
    profileId: string;
    profileType: ProfileType;
    purchasedReports: string[];
    constructor(userId: string, profileId: string, profileType: ProfileType, purchasedReports: string[]);
    /**
     * The name of the service containing the profile detail resource.
     */
    static get serviceName(): string;
    /**
     * The name of the profile detail resource on the API server.
     */
    static get resourceName(): string;
    /**
     * Convert the profile detail into a JSON serializable object for the API server.
     */
    serializeAPI(): APIProfileDetail;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The profile detail data from the API server.
     */
    deserializeAPI(data: APIProfileDetail): void;
    /**
     * Serialize the profile detail into a format for storing in the Redux store.
     */
    serializeRedux(): StoreProfileDetail;
    /**
     * Create an profile detail resource from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The profile detail object.
     */
    static apiFactory(data: APIProfileDetail): ProfileDetail;
    /**
     * Create an profile detail resource from the redux store data.
     *
     * @param data Data from the redux store.
     *
     * @returns The profile detail object.
     */
    static reduxFactory(data: StoreProfileDetail): ProfileDetail;
}
