"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ConfirmationVerifyFeature_1 = __importDefault(require("./feature/ConfirmationVerifyFeature"));
const DatePickerTypeFeature_1 = __importDefault(require("./feature/DatePickerTypeFeature"));
const E164PhoneNumberFieldFeature_1 = __importDefault(require("./feature/E164PhoneNumberFieldFeature"));
const FeaturedPromoFeature_1 = __importDefault(require("./feature/FeaturedPromoFeature"));
const FullPageEngineSmallSpacingFeature_1 = __importDefault(require("./feature/FullPageEngineSmallSpacingFeature"));
const GuestTitleFieldFeature_1 = __importDefault(require("./feature/GuestTitleFieldFeature"));
const HotelGroupFeature_1 = __importDefault(require("./feature/HotelGroupFeature"));
const InlineAddonStepFeature_1 = __importDefault(require("./feature/InlineAddonStepFeature"));
const MemberPortalFeature_1 = __importDefault(require("./feature/MemberPortalFeature"));
const ModifyBookingFeature_1 = __importDefault(require("./feature/ModifyBookingFeature"));
const NumberOfPeopleBookedPillFeature_1 = __importDefault(require("./feature/NumberOfPeopleBookedPillFeature"));
const PlanPayPricePreviewFeature_1 = __importDefault(require("./feature/PlanPayPricePreviewFeature"));
const RoomUpsellFeature_1 = __importDefault(require("./feature/RoomUpsellFeature"));
const ShowIATANumberOnCheckoutFeature_1 = __importDefault(require("./feature/ShowIATANumberOnCheckoutFeature"));
const StepDateNextButtonAboveDatepickerFeature_1 = __importDefault(require("./feature/StepDateNextButtonAboveDatepickerFeature"));
const AnalyticsEventsFeature_1 = __importDefault(require("./feature/AnalyticsEventsFeature"));
const DerbysoftClickTrackingFeature_1 = __importDefault(require("./feature/DerbysoftClickTrackingFeature"));
const GiftCardFeature_1 = __importDefault(require("./feature/GiftCardFeature"));
const RoomRateReadMoreVersionFeature_1 = __importDefault(require("./feature/RoomRateReadMoreVersionFeature"));
class FeatureProvider {
    static load(name, options) {
        for (const feature of this.features) {
            if (feature.getName() === name || name === feature) {
                feature.load(options);
            }
        }
    }
    static unLoad(name) {
        for (const feature of this.features) {
            if (feature.getName() === name || name === feature) {
                feature.unLoad();
            }
        }
    }
}
FeatureProvider.features = [
    InlineAddonStepFeature_1.default,
    DatePickerTypeFeature_1.default,
    RoomUpsellFeature_1.default,
    FeaturedPromoFeature_1.default,
    ConfirmationVerifyFeature_1.default,
    ShowIATANumberOnCheckoutFeature_1.default,
    E164PhoneNumberFieldFeature_1.default,
    MemberPortalFeature_1.default,
    NumberOfPeopleBookedPillFeature_1.default,
    FullPageEngineSmallSpacingFeature_1.default,
    ModifyBookingFeature_1.default,
    PlanPayPricePreviewFeature_1.default,
    RoomRateReadMoreVersionFeature_1.default,
    DerbysoftClickTrackingFeature_1.default,
    GuestTitleFieldFeature_1.default,
    HotelGroupFeature_1.default,
    GiftCardFeature_1.default,
    AnalyticsEventsFeature_1.default,
    StepDateNextButtonAboveDatepickerFeature_1.default,
];
exports.default = FeatureProvider;
//# sourceMappingURL=FeatureProvider.js.map