import { QueryParams, Resource } from "../../common";
import { APIShippingLocation, StoreShippingLocation } from "./interfaces";
export declare class ShippingLocation extends Resource {
    /**
     * The country this shipping data is for.
     */
    country: string;
    /**
     * The code for the country.
     */
    countryCode: string;
    /**
     * The standard, express or any other type of shipping.
     */
    type: string;
    /**
     * The shipping cost.
     */
    price: number;
    /**
     * The estimated shipping time.
     */
    time: number;
    constructor(country: string, country_code: string, type: string, price: number, time: number);
    /**
     * The name of the order resource on the API server.
     */
    static get resourceName(): string;
    /**
     * The name of the service containing the order resource.
     */
    static get serviceName(): string;
    /**
     * Convert the order into a JSON serializable object for the API server.
     */
    serializeAPI(): APIShippingLocation;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The order data from the API server.
     */
    deserializeAPI(data: APIShippingLocation): void;
    /**
     * Serialize the order into a format for storing in the Redux store.
     */
    serializeRedux(): StoreShippingLocation;
    /**
     * Create a order from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The order object.
     */
    static apiFactory(data: APIShippingLocation): ShippingLocation;
    /**
     * Create a order from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The order object.
     */
    static reduxFactory(data: StoreShippingLocation): ShippingLocation;
    /**
     * List the resource.
     *
     * @param itemId The id of the item to get the shipping locations.
     * @param queryParams Params to send with the request.
     *
     * @returns The list of resources from the server.
     */
    static listByItem(itemId: string, queryParams?: QueryParams): Promise<Array<ShippingLocation>>;
}
