/**
 * WM
 * @module WM
 * @exports WM
 */
import { VariantsOptions } from "./variants/types";
import { ImageOptions } from "./images/types";
import Variants from "./variants/index";
import Images from "./images/index";
import {PriceOptions} from "./price/types";
import Price from "./price/index";
import { PrintLocation } from "./print_locations/types";
import PrintLocations from "./print_locations";

class WM {
    static initVariants(options: VariantsOptions) {
        return new Variants(options);
    }

    static initImages(options: ImageOptions) {
        return new Images(options);
    }

    static initPrice(options: PriceOptions) {
        return new Price(options);
    }

    static initPrintLocations(options: PrintLocation[], locale: string) {
        return new PrintLocations(options, locale);
    }
}

export default WM;