import { RouteLocationNormalized, Router } from "vue-router";
import { Ref } from "vue";
import { ConferenceEntity } from "@agendize/js-calendar-api";
export interface ConferenceDetailsViewModelType {
    conference: Ref<ConferenceEntity | undefined>;
    back: () => void;
    save: (thenExit?: boolean) => void;
    saveInProgress: Ref<boolean>;
    formValid: Ref<boolean>;
    hasChange: Ref<boolean>;
    nextPage: Ref<RouteLocationNormalized | undefined>;
    exit: (close: boolean) => void;
    currentTabId: Ref<ConferenceTabs>;
    changeTab: (tabId: string) => void;
    isChangeTab: Ref<boolean>;
    changedField: () => void;
    validate: (isValid: boolean) => void;
}
export declare const ConferenceTabIds: string[];
export declare type ConferenceTabs = typeof ConferenceTabIds[number];
export declare function ConferenceDetailsViewModel(organisationEmail: string, conferenceId: string, unsavedChangesDialogRef: Ref<any>, structuredPage: Ref<any>, generalTab: Ref<any>, attendeeTab: Ref<any>, formTab: Ref<any>, advancedTab: Ref<any>, router?: Router): ConferenceDetailsViewModelType;
