import { AccountEntity, CalendarApi, CompanyEntity, SettingsWorkingDayEntity, Logger } from "@agendize/js-calendar-api";
import { Locale } from "@agendize/az-i18n";
import { ComputedRef, Ref } from "vue";
import { Router } from "vue-router";
import { PageWithTabsAndPanelOptions } from "@agendize/design-system";
export declare function CompanyDetailsViewModel(emitter: Function, api: CalendarApi, organisation: AccountEntity, locale: Locale, cancelButton: Ref, companyId?: string, logger?: Logger, newCompany?: boolean, cloneCompany?: boolean, router?: Router): CompanyDetailsViewModelType;
interface CompanyDetailsViewModelType {
    company: Ref<CompanyEntity | undefined>;
    companyName: Ref<string>;
    companyDescription: Ref<string>;
    companyLogo: Ref<string>;
    companyLogoFile: Ref<File | undefined>;
    companyLogoFileData: Ref<string | undefined>;
    onCompanyLogoUpdated: (item: File | undefined) => void;
    companyPhoto: Ref<string>;
    companyPhotoFile: Ref<File | undefined>;
    companyPhotoFileData: Ref<string | undefined>;
    onCompanyPhotoUpdated: (item: File | undefined) => void;
    companyFullAddress: ComputedRef<string>;
    companyAddress: Ref<string>;
    companyAddress2: Ref<string>;
    companyZipCode: Ref<string>;
    companyCity: Ref<string>;
    companyCountry: Ref<string[]>;
    companyState: Ref<string>;
    companyEmail: Ref<string>;
    phoneCountry: Ref<string | undefined>;
    companyPhone: Ref<string | undefined>;
    companyWidgetUrl: Ref<string>;
    companyWebSite: Ref<string>;
    companyFacebook: Ref<string>;
    companyInstagram: Ref<string>;
    companyTwitter: Ref<string>;
    companyLinkedIn: Ref<string>;
    companyIdExterne: Ref<string>;
    companyExternalCalendars: Ref<string[]>;
    addExternalCalendar: () => void;
    sliceExternalCalendar: (value: string, index: number) => void;
    companyTimeZone: Ref<string[]>;
    companyVacations: Ref<{
        startDate?: Date;
        endDate?: Date;
    }[]>;
    addVacation: () => void;
    sliceVacation: (value: {
        startDate?: Date;
        endDate?: Date;
    }, index: number) => void;
    onVacationsApply: () => void;
    companyWorkingHours: Ref<SettingsWorkingDayEntity[]>;
    formatWorkingHours: (day: string) => string;
    WORKING_DAYS: Ref<string[]>;
    onWorkingHoursEdit: () => void;
    showWorkingHoursModal: Ref<boolean>;
    onWorkingHoursModalSave: (items: SettingsWorkingDayEntity[]) => void;
    onWorkingHoursApply: () => void;
    loading: Ref<boolean>;
    submitReady: Ref<boolean>;
    validatedField: (field: string, isValid: boolean | {
        isValid: boolean;
    }, ...data: any) => void;
    onSave: () => void;
    openMenu: () => void;
    pageOptions: Ref<PageWithTabsAndPanelOptions>;
    countriesValues: Ref<{
        value: string;
        label: string;
    }[]>;
    back: () => void;
}
export {};
