import { ComputedRef, Ref } from "vue";
import { Locale } from "@agendize/az-i18n";
import { Router } from "vue-router";
import { AccountEntity, CalendarApi, CompanyEntity, WorkingPlanningEntity, WorkingPlanningDayEntity } from "@agendize/js-calendar-api";
import { PageWithTabsAndPanelOptions } from "@agendize/design-system";
import { DateTime } from "luxon";
export declare function WorkingPlanningsViewModel(api: CalendarApi, locale: Locale, organisation: AccountEntity, router?: Router): PlanningsViewModelType;
interface PlanningsViewModelType {
    pageOptions: Ref<PageWithTabsAndPanelOptions>;
    displaySelectCompanyModal: Ref<boolean>;
    changeCompany: () => void;
    selectCompanyValidate: (item: CompanyEntity) => void;
    selectCompanyClose: () => void;
    companySelected: Ref<CompanyEntity | undefined>;
    modalCloseDisabled: ComputedRef<boolean>;
    initialisationEnded: Ref<boolean>;
    currentWeek: Ref<DateTime>;
    goToToday: () => void;
    nextWeek: () => void;
    prevWeek: () => void;
    workingPlannings: Ref<WorkingPlanningEntity[]>;
    loading: Ref<boolean>;
    closeEditPanel: (update: boolean) => void;
    rightPanelOpened: Ref<undefined | 'new' | 'edit'>;
    selectWorkingDay: (workingDay: WorkingPlanningDayEntity, user: {
        id: string;
        email: string;
        firstName: string;
        lastName: string;
    }, staffId: string) => void;
    selectedStaff: Ref<{
        userId: string;
        staffId: string;
        email: string;
        firstName: string;
        lastName: string;
    }>;
    selectedWorkingPlanningDay: Ref<WorkingPlanningDayEntity>;
    fromPlanning: Ref<boolean>;
    fabActions: Ref<{
        id: string;
        title: string;
        description: string;
        icon: string;
        class: string;
        action: () => void;
    }[]>;
    canSelectCompany: Ref<boolean>;
    viewType: Ref<PlanningView>;
}
export declare enum PlanningView {
    OPENING = "openingHours",
    OCCUPANCY = "occupancyRate"
}
export {};
