import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { OpeningDay } from '@aztrix/helpers';
import { Locale } from '@aztrix/models';
import { FormArray, FormGroup } from '@ngneat/reactive-forms';
import { ObserveResizeService } from 'angular-container-media-query';
import { BehaviorSubject, Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class DaysCombinedEditComponent implements OnChanges, OnDestroy, AfterViewInit {
    private _resize;
    private _elementRef;
    private _changeDetector;
    private _locale$;
    form: FormGroup<any>;
    name: string;
    cleared: boolean;
    readonly: boolean;
    add: EventEmitter<FormGroup<any>>;
    remove: EventEmitter<{
        group: FormGroup<any>;
        range: FormGroup<any>;
    }>;
    special: boolean;
    large: boolean;
    subscriptions: Subscription;
    combinedOpeningDaysSubscriptions: Subscription;
    combinedOpeningDays: {
        combined: FormGroup<any>;
        originals: FormGroup<any>[];
    }[];
    constructor(_resize: ObserveResizeService, _elementRef: ElementRef, _changeDetector: ChangeDetectorRef, _locale$: BehaviorSubject<Locale>);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private _disableChanges;
    get openingDaysForm(): FormArray<OpeningDay>;
    _add(group: FormGroup<any>): void;
    _remove({ group, range }: {
        group: FormGroup<any>;
        range: FormGroup<any>;
    }): void;
    private _findCombinedOpeningDay;
    private _equalOpeningDayValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<DaysCombinedEditComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DaysCombinedEditComponent, "ax-days-combined-edit", never, { "form": { "alias": "form"; "required": false; }; "name": { "alias": "name"; "required": false; }; "cleared": { "alias": "cleared"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; }, { "add": "add"; "remove": "remove"; }, never, never, false, never>;
}
