import { Bloc } from "@agendize/vue-tools";
import { WidgetState } from "./WidgetState";
import { CalendarApi, CompanyEntity, ContactEntity, EmployeeEntity, Logger, ServiceEntity, StaffEntity, UserEntity } from "@agendize/js-calendar-api";
import { Locale } from "@agendize/az-i18n";
import { Ref } from "vue";
export declare class WidgetBloc extends Bloc<WidgetState> {
    private locale;
    private api;
    private organisationEmail;
    private connectedUser;
    private acl;
    private logger?;
    private pageRef;
    private emitter;
    private pagesState;
    private visitedPages;
    private preselection?;
    private staffPreselected;
    private hasWidgetFields;
    private pageIndex;
    private company?;
    private possibleCompaniesId?;
    private staff?;
    private service?;
    private date?;
    private contact?;
    private widgetForms?;
    private event?;
    private error?;
    private accountStore;
    constructor(pageRef: Ref<any>, emitter: Function, locale: Locale, api: CalendarApi, organisationEmail: string, connectedUser: UserEntity, acl: any, logger?: Logger);
    dispose(): void;
    preselect(preselection?: {
        employee?: EmployeeEntity;
        contact?: ContactEntity;
    }): Promise<void>;
    selectCompany(selectedCompany: CompanyEntity): void;
    selectStaff(selectedStaff: StaffEntity): void;
    selectService(selectedService: ServiceEntity): void;
    selectDate(selectedDate: Date): void;
    createContact(): void;
    searchContact(): void;
    selectContact(selectedContact: ContactEntity, skipContactSelection?: boolean): void;
    previous(): void;
    private next;
    private getWidgetFields;
    private getWidgetErrorFromApi;
    private onError;
    private initStates;
    private getPageCount;
}
//# sourceMappingURL=WidgetBloc.d.ts.map