import { Optional, Resource } from "../../common";
import { APIDiscreteValue, StoreDiscreteValue } from "./interfaces";
export declare class DiscreteValue extends Resource {
    /**
     * The name of the discrete value.
     */
    name: string;
    /**
     * The id of the marker the discrete value is applicable to.
     */
    markerId: string;
    constructor(name: string, markerId: string);
    /**
     * The name of the discrete value resource on the API server.
     */
    static get resourceName(): string;
    /**
     * The name of the service containing the discrete value resource.
     */
    static get serviceName(): string;
    /**
     * Convert the discrete value into a JSON serializable object for the API server.
     */
    serializeAPI(): Optional<APIDiscreteValue, "id">;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The discrete value data from the API server.
     */
    deserializeAPI(data: APIDiscreteValue): void;
    /**
     * Serialize the discrete value into a format for storing in the Redux store.
     */
    serializeRedux(): StoreDiscreteValue;
    /**
     * Create a discrete value from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The discrete value object.
     */
    static apiFactory(data: APIDiscreteValue): DiscreteValue;
    /**
     * Create a discrete value from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The discrete value object.
     */
    static reduxFactory(data: StoreDiscreteValue): DiscreteValue;
}
