import { EventEmitter, OnInit } from '@angular/core'; import { AbstractControl } from '@angular/forms'; import { LabelConfig } from '../label/label.model'; import { ButtonComponentConfig } from '../button/button.model'; import { TimePickerComponentConfig } from '../time-picker/time-picker.component'; import { SelectComponentConfig } from '../select/select.component'; import * as i0 from "@angular/core"; export declare class ScheduleLineComponentConfig { startHour: string; endHour: string; store?: { id: string; name: string; }; storeId: string; timesheetType: string; } export declare class ScheduleComponentConfig { key: string; stores?: { id: string; name: string; }[]; timesheetTypes?: { id: string; name: string; }[]; schedule: { monday: ScheduleLineComponentConfig[]; tuesday: ScheduleLineComponentConfig[]; wednesday: ScheduleLineComponentConfig[]; thursday: ScheduleLineComponentConfig[]; friday: ScheduleLineComponentConfig[]; saturday: ScheduleLineComponentConfig[]; sunday: ScheduleLineComponentConfig[]; }; labels: { startHour: LabelConfig; endHour: LabelConfig; noPeriods: LabelConfig; store: LabelConfig; type: LabelConfig; days: LabelConfig; monday: LabelConfig; tuesday: LabelConfig; wednesday: LabelConfig; thursday: LabelConfig; friday: LabelConfig; saturday: LabelConfig; sunday: LabelConfig; }; required: boolean; disabled: boolean; formControl?: AbstractControl; } export declare class ScheduleComponent implements OnInit { config: ScheduleComponentConfig; onUpdate: EventEmitter; days: { key: string; day: SelectComponentConfig; periods: { start: TimePickerComponentConfig; end: TimePickerComponentConfig; store: SelectComponentConfig; timesheetType: SelectComponentConfig; }[]; }[]; addButton: ButtonComponentConfig; removeButton: ButtonComponentConfig; addDayButton: ButtonComponentConfig; removeDayButton: ButtonComponentConfig; daysKeys: string[]; constructor(); ngOnInit(): void; getDayGroup(dayKey?: string): { key: string; day: { key: string; value: string[]; label: LabelConfig; options: { id: string; label: LabelConfig; }[]; disabled: boolean; multiple: boolean; required: boolean; }; periods: any; }; samePeriods(periodsA: { start: TimePickerComponentConfig; end: TimePickerComponentConfig; store: SelectComponentConfig; timesheetType: SelectComponentConfig; }[], periodsB: ScheduleLineComponentConfig[]): boolean; addPeriod(day: any): void; addDaysGroup(): void; removePeriod(day: any, index: any): void; updateStore(dayIndex: any, periodIndex: any, newStore: any): void; updateType(dayIndex: any, periodIndex: any, newType: any): void; updateStartPeriod(dayIndex: any, periodIndex: any, newTime: any): void; updateEndPeriod(dayIndex: any, periodIndex: any, newTime: any): void; getValue(): {}; removeDaysGroup(index: any): void; updateSelectedDays(day: any, selectedDays: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }