// (C) 2021-2026 GoodData Corporation
import { DefaultAttributeFiltersCustomizer } from "./attributeFiltersCustomizer.js";
import { DefaultDateFiltersCustomizer } from "./dateFiltersCustomizer.js";
import { DefaultFilterGroupsCustomizer } from "./filterGroupsCustomizer.js";
import { DefaultMeasureValueFiltersCustomizer } from "./measureValueFiltersCustomizer.js";
export class DefaultFiltersCustomizer {
    logger;
    mutationContext;
    attributeFiltersCustomizer;
    measureValueFiltersCustomizer;
    dateFiltersCustomizer;
    filterGroupCustomizer;
    constructor(logger, mutationContext) {
        this.logger = logger;
        this.mutationContext = mutationContext;
        this.attributeFiltersCustomizer = new DefaultAttributeFiltersCustomizer(this.logger, this.mutationContext);
        this.measureValueFiltersCustomizer = new DefaultMeasureValueFiltersCustomizer(this.logger);
        this.dateFiltersCustomizer = new DefaultDateFiltersCustomizer(this.logger);
        this.filterGroupCustomizer = new DefaultFilterGroupsCustomizer(this.logger);
    }
    attribute() {
        return this.attributeFiltersCustomizer;
    }
    measureValue() {
        return this.measureValueFiltersCustomizer;
    }
    date() {
        return this.dateFiltersCustomizer;
    }
    filterGroup() {
        return this.filterGroupCustomizer;
    }
    sealCustomizer = () => {
        this.attributeFiltersCustomizer.sealCustomizer();
        this.measureValueFiltersCustomizer.sealCustomizer();
        this.dateFiltersCustomizer.sealCustomizer();
        this.filterGroupCustomizer.sealCustomizer();
        return this;
    };
}
