import { Resource } from "../../common";
import { APICollectionMethod, StoreCollectionMethod } from "./interfaces";
export declare class CollectionMethod extends Resource {
    /**
     * The name of the collection method
     */
    name: string;
    constructor(name: string);
    /**
     * The name of the Collection Method resource on the API server.
     */
    static get resourceName(): string;
    /**
     * The name of the service containing the Collection Method resource.
     */
    static get serviceName(): string;
    /**
     * Convert the Collection Method into a JSON serializable object for the API server.
     */
    serializeAPI(): APICollectionMethod;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The collection method data from the API server.
     */
    deserializeAPI(data: APICollectionMethod): void;
    /**
     * Serialize the collection method into a format for storing in the Redux store.
     */
    serializeRedux(): StoreCollectionMethod;
    /**
     * Create a collection method from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The CollectionMethod object.
     */
    static apiFactory(data: APICollectionMethod): CollectionMethod;
    /**
     * Create a collection method from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The CollectionMethod object.
     */
    static reduxFactory(data: StoreCollectionMethod): CollectionMethod;
}
