import { AppointmentType } from './viewModel';
import { Locale } from "@agendize/az-i18n";
import { ApiErrors, CalendarApi, ContactEntity, EmployeeEntity, EventEntity, Logger, UserEntity } from '@agendize/js-calendar-api';
export interface Props {
    id?: string;
    api: CalendarApi;
    organisationEmail: string;
    connectedUser: UserEntity;
    acl: any;
    timeZone: string;
    locale: Locale;
    minDate?: string | undefined;
    maxDate?: string | undefined;
    modelValue?: EventEntity;
    type?: AppointmentType;
    logger?: Logger;
    preselection?: {
        employee?: EmployeeEntity;
        contact?: ContactEntity;
    };
    back?: boolean;
}
declare const _default: import("vue").DefineComponent<{
    id: {
        type: import("vue").PropType<string>;
    } & {
        default: string;
    };
    api: {
        type: import("vue").PropType<CalendarApi>;
        required: true;
    };
    organisationEmail: {
        type: import("vue").PropType<string>;
        required: true;
    };
    connectedUser: {
        type: import("vue").PropType<UserEntity>;
        required: true;
    };
    acl: {
        type: import("vue").PropType<any>;
        required: true;
    };
    timeZone: {
        type: import("vue").PropType<string>;
        required: true;
    };
    locale: {
        type: import("vue").PropType<Locale>;
        required: true;
    };
    minDate: {
        type: import("vue").PropType<string>;
    };
    maxDate: {
        type: import("vue").PropType<string>;
    };
    modelValue: {
        type: import("vue").PropType<EventEntity>;
    };
    type: {
        type: import("vue").PropType<AppointmentType>;
    } & {
        default: AppointmentType;
    };
    logger: {
        type: import("vue").PropType<Logger>;
    };
    preselection: {
        type: import("vue").PropType<{
            employee?: EmployeeEntity | undefined;
            contact?: ContactEntity | undefined;
        }>;
    };
    back: {
        type: import("vue").PropType<boolean>;
    } & {
        default: boolean;
    };
}, () => void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    onClose: () => void;
} & {
    onBack: () => void;
} & {
    onBooking: (item: EventEntity) => void;
} & {
    onError: (item: ApiErrors, event: EventEntity, error: any) => void;
} & {
    "update:modelValue": (item: EventEntity | undefined) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    id: {
        type: import("vue").PropType<string>;
    } & {
        default: string;
    };
    api: {
        type: import("vue").PropType<CalendarApi>;
        required: true;
    };
    organisationEmail: {
        type: import("vue").PropType<string>;
        required: true;
    };
    connectedUser: {
        type: import("vue").PropType<UserEntity>;
        required: true;
    };
    acl: {
        type: import("vue").PropType<any>;
        required: true;
    };
    timeZone: {
        type: import("vue").PropType<string>;
        required: true;
    };
    locale: {
        type: import("vue").PropType<Locale>;
        required: true;
    };
    minDate: {
        type: import("vue").PropType<string>;
    };
    maxDate: {
        type: import("vue").PropType<string>;
    };
    modelValue: {
        type: import("vue").PropType<EventEntity>;
    };
    type: {
        type: import("vue").PropType<AppointmentType>;
    } & {
        default: AppointmentType;
    };
    logger: {
        type: import("vue").PropType<Logger>;
    };
    preselection: {
        type: import("vue").PropType<{
            employee?: EmployeeEntity | undefined;
            contact?: ContactEntity | undefined;
        }>;
    };
    back: {
        type: import("vue").PropType<boolean>;
    } & {
        default: boolean;
    };
}>> & {
    onOnError?: ((item: ApiErrors, event: EventEntity, error: any) => any) | undefined;
    onOnClose?: (() => any) | undefined;
    onOnBooking?: ((item: EventEntity) => any) | undefined;
    "onUpdate:modelValue"?: ((item: EventEntity | undefined) => any) | undefined;
    onOnBack?: (() => any) | undefined;
}, {
    type: AppointmentType;
    id: string;
    back: boolean;
}, {}>;
export default _default;
//# sourceMappingURL=View.vue.d.ts.map