import { Optional, Resource } from "../../common";
import { APIVisitedPages, Page, StoreVisitedPages } from "./interfaces";
export declare class VisitedPages extends Resource {
    userId: string;
    pages: Page[];
    constructor(userId: string, pages: Page[]);
    /**
     * The name of the visited-pages resource on the API server.
     */
    static get resourceName(): string;
    /**
     * The name of the service containing the visited-pages resource.
     */
    static get serviceName(): string;
    /**
     * Convert the visited-pages into a JSON serializable object for the API server.
     */
    serializeAPI(): Optional<APIVisitedPages, "id">;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The visited-pages data from the API server.
     */
    deserializeAPI(data: APIVisitedPages): void;
    /**
     * Serialize the visited-pages into a format for storing in the Redux store.
     */
    serializeRedux(): StoreVisitedPages;
    /**
     * Create a visited-pages from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The visited-pages object.
     */
    static apiFactory(data: APIVisitedPages): VisitedPages;
    /**
     * Create a visited-pages from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The visited-pages object.
     */
    static reduxFactory(data: StoreVisitedPages): VisitedPages;
}
