import { OnInit, TemplateRef } from '@angular/core';
import { BackgroundModel, BannerStylesModel, LayOutModel, PositionLayoutModal } from '../../styles/style.model';
import { DatePipe } from '@angular/common';
import { EventsService } from './../../services/events.service';
import BaseSection from '../BaseSection';
import { BannerContentModel, BannerSectionModel } from './appointment-form.model';
import { MatDialog } from '@angular/material/dialog';
import { RestService } from '../../services/rest.service';
import { MatSnackBar } from '@angular/material/snack-bar';
import { StorageLike } from '../../services/storage-like';
import { Router } from '@angular/router';
import * as i0 from "@angular/core";
export declare class AppointmentFormComponent extends BaseSection implements OnInit {
    private _eventService;
    private matDialog;
    private appointmentService;
    private snackbar;
    private datePipe;
    private readonly router;
    private storage;
    data?: BannerSectionModel;
    index?: number;
    content?: BannerContentModel;
    edit?: boolean;
    delete?: boolean;
    customClass?: string;
    nextComponentColor?: BackgroundModel;
    styles?: BannerStylesModel;
    constructor(_eventService: EventsService, matDialog: MatDialog, appointmentService: RestService, snackbar: MatSnackBar, datePipe: DatePipe, router: Router, storage: StorageLike);
    screenWidth: number;
    getScreenSize(): void;
    businessId: any;
    businessName: any;
    storeList: any;
    serviceList: any[];
    staffList: any[];
    servicePayload: any;
    staffPayload: any;
    ngOnInit(): void;
    get stylesLayout(): LayOutModel;
    get getJustifyContent(): string;
    get canMergeNavbar(): boolean | undefined;
    get isBorderlessImage(): boolean | undefined;
    get getPositionLayout(): PositionLayoutModal;
    editSection(): void;
    stopPropagation(event: any): void;
    allStoreList: any;
    getAllStores(): void;
    allServiceList: any;
    getAllService(): void;
    getAllStoreStaff(): void;
    slotsPayload: any;
    getBookingSlots(): void;
    generateTimeSlotsV2(start: string, end: string, interval: number): string[];
    opendailogbox(template: TemplateRef<HTMLDivElement>): void;
    closeDialog(): void;
    isMoved: boolean;
    onFocus(): void;
    restrictNonNumeric(event: KeyboardEvent): void;
    onUserNameChange(value: string): void;
    toTitleCase(str: string): string;
    serviceData: any;
    staffData: any;
    getFilteredServices(): void;
    getFilteredLocation(): void;
    updateLocationTiming(): void;
    getDay(): string;
    getAllServices(): void;
    minDate: Date;
    bookedSlots: Set<unknown>;
    locationTiming: string[];
    changeDate(): void;
    startIndex: any;
    endIndex: any;
    disableTimeSlots(staffWorkingHours: any): void;
    loader: boolean;
    checkPayment(): void;
    paymentBookingAppointment(): void;
    bookAppointment(): void;
    convertTo24Hour(time: string): string;
    getBookedSlots(res: any): void;
    minTime: string;
    getTimeSlotsBetween(start: Date, end: Date, intervalMinutes: number): string[];
    isTimeSlotDisabled(time: string, index: number): boolean;
    generateTimeSlots(startTime: string, endTime: string): string[];
    private toMinutes;
    private isValidTime;
    private parseTime;
    private padZero1;
    locationData: any;
    selectedLocation: any;
    getAllLocations(): void;
    formatDate(date: Date): string;
    formattedDate: any;
    timeSlotsData: any;
    formattedTimeIntervals: {
        startTime: string;
    }[];
    getTimeSlots(): void;
    filterTimeSlots(): void;
    dateFilter: (date: Date | null) => boolean;
    selectedServices: any;
    selectedStaff: any;
    CreateData: any;
    prepareCreateData(): void;
    prepareLocationData(): void;
    createLoader: boolean;
    availableTimes: string[];
    padZero(value: number): string;
    isTimeGreaterThanCurrent(time: string, currentHour: number, currentMinute: number): boolean;
    createAppointment(): void;
    reFilterData(): void;
    isFormValid(): boolean;
    getAccentColor(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppointmentFormComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppointmentFormComponent, "simpo-appointment-form", never, { "data": { "alias": "data"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
}
