import { ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { FormControl } from '@angular/forms';
import { OverlayService } from '@aztrix/components/overlay';
import { Locale } from '@aztrix/models';
import { FormArray, FormGroup } from '@ngneat/reactive-forms';
import { BehaviorSubject, Subscription } from 'rxjs';
import { AbstractPropertyEdit } from '../abstract-property-edit';
import * as i0 from "@angular/core";
export declare const CLOSED_HOURS = "Mo off;Tu off;We off;Th off;Fr off;Sa off;Su off";
export declare class OpeningHoursEditComponent extends AbstractPropertyEdit implements OnInit, OnChanges, OnDestroy {
    private _overlay;
    private _changeDetector;
    private _elementRef;
    private _locale$;
    propertyEditClass: boolean;
    isProposalSubscribeForm: boolean;
    openingDates: FormArray<any, import("@ngneat/reactive-forms").FormControl<any> | FormGroup<import("@ngneat/reactive-forms").ControlsOf<any>>>;
    subscriptions: Subscription;
    formSubscription: Subscription;
    alwaysOpenForm: FormControl<boolean | null>;
    private _disableValueChanges;
    private _disableOverride;
    constructor(_overlay: OverlayService, _changeDetector: ChangeDetectorRef, _elementRef: ElementRef, _locale$: BehaviorSubject<Locale>);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    openHelpModal(help: TemplateRef<unknown>): void;
    addSpecial(): void;
    editSpecial(dateForm: any): void;
    get specialOpeningHoursEnabled(): boolean;
    private _editDayControls;
    private _addDayControls;
    private _getDayRange;
    private _addDayControl;
    private _createDayRangeControl;
    private _createDayControl;
    private _addMissingControls;
    private _getErrors;
    clear(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<OpeningHoursEditComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OpeningHoursEditComponent, "ax-opening-hours-edit", never, { "isProposalSubscribeForm": { "alias": "isProposalSubscribeForm"; "required": false; }; }, {}, never, never, false, never>;
}
