import { Resource } from "../../common";
import { APICompanyProfileRequest, APICompanyProfileResponse, SavedStoreCompanyProfile } from "./interfaces";
export declare class CompanyProfile extends Resource {
    /**
     * The user's id.
     */
    userId: string;
    /**
     * The white label logo
     */
    logo: string;
    /**
     * Name of the company
     */
    companyName: string;
    /**
     * The user's professional name for clients.
     */
    professionalName: string;
    /**
     * Professional website of the user
     */
    website: string;
    /**
     * Email of the user
     */
    email: string;
    /**
     * Phone number of the user
     */
    phone: string;
    /**
     * Address of the user
     */
    address: string;
    constructor({ userId, logo, companyName, professionalName, website, email, phone, address, }: {
        userId: string;
        logo: string;
        companyName: string;
        professionalName: string;
        website: string;
        email: string;
        phone: string;
        address: string;
    });
    /**
     * The name of the company profile resource on the API server.
     */
    static get resourceName(): string;
    /**
     * The name of the service containing the company profile resource.
     */
    static get serviceName(): string;
    /**
     * Convert the company profile into a JSON serializable object for the API server.
     */
    serializeAPI(): APICompanyProfileRequest;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The company profile data from the API server.
     */
    deserializeAPI(data: APICompanyProfileResponse): void;
    /**
     * Serialize the company profile into a format for storing in the Redux store.
     */
    serializeRedux(): SavedStoreCompanyProfile;
    /**
     * Create a company profile from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The company profile object.
     */
    static apiFactory(data: APICompanyProfileResponse): CompanyProfile;
    /**
     * Create a company profile from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The company profile object.
     */
    static reduxFactory(data: SavedStoreCompanyProfile): CompanyProfile;
}
