import { CreatePresaleOrder, CalendarRes } from '../type';
import { default as dayjs } from 'dayjs';

declare const _default: import('vue').DefineComponent<{
    visible: {
        type: BooleanConstructor;
        default: boolean;
    };
    initData: {
        type: typeof CreatePresaleOrder;
        default: CreatePresaleOrder;
    };
    calendarInfoMap: {
        type: typeof CalendarRes;
        default: CalendarRes;
    };
}, {
    editData: import('vue').Ref<{
        cusName?: string | undefined;
        ntwId: number;
        checkinDate?: string | undefined;
        remark?: string | undefined;
        roomTypeId?: string | undefined;
        cusPhone: string;
        verificationCode: string;
        checkoutDate?: string | undefined;
        presaleId: number;
        bookingCount: number;
        reserveDate?: string | undefined;
        remainingNights?: number | undefined;
        availableEndDate?: string | undefined;
        availableStartDate?: string | undefined;
        cusId?: number | undefined;
        boolIsRoom?: boolean | undefined;
        packageName?: string | undefined;
        boolRelateRoom?: boolean | undefined;
        checkDate?: {
            clone: () => dayjs.Dayjs;
            isValid: () => boolean;
            year: {
                (): number;
                (value: number): dayjs.Dayjs;
            };
            month: {
                (): number;
                (value: number): dayjs.Dayjs;
            };
            date: {
                (): number;
                (value: number): dayjs.Dayjs;
            };
            day: {
                (): 0 | 1 | 2 | 3 | 4 | 5 | 6;
                (value: number): dayjs.Dayjs;
            };
            hour: {
                (): number;
                (value: number): dayjs.Dayjs;
            };
            minute: {
                (): number;
                (value: number): dayjs.Dayjs;
            };
            second: {
                (): number;
                (value: number): dayjs.Dayjs;
            };
            millisecond: {
                (): number;
                (value: number): dayjs.Dayjs;
            };
            set: (unit: dayjs.UnitType, value: number) => dayjs.Dayjs;
            get: (unit: dayjs.UnitType) => number;
            add: (value: number, unit?: dayjs.ManipulateType) => dayjs.Dayjs;
            subtract: (value: number, unit?: dayjs.ManipulateType) => dayjs.Dayjs;
            startOf: {
                (unit: dayjs.OpUnitType): dayjs.Dayjs;
                (unit: dayjs.OpUnitType | "isoWeek"): dayjs.Dayjs;
            };
            endOf: {
                (unit: dayjs.OpUnitType): dayjs.Dayjs;
                (unit: dayjs.OpUnitType | "isoWeek"): dayjs.Dayjs;
            };
            format: (template?: string) => string;
            diff: (date?: dayjs.ConfigType, unit?: dayjs.QUnitType | dayjs.OpUnitType, float?: boolean) => number;
            valueOf: () => number;
            unix: () => number;
            daysInMonth: () => number;
            toDate: () => Date;
            toJSON: () => string;
            toISOString: () => string;
            toString: () => string;
            utcOffset: () => number;
            isBefore: {
                (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType): boolean;
                (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType | "isoWeek"): boolean;
            };
            isSame: {
                (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType): boolean;
                (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType | "isoWeek"): boolean;
            };
            isAfter: {
                (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType): boolean;
                (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType | "isoWeek"): boolean;
            };
            locale: {
                (): string;
                (preset: string | ILocale, object?: Partial<ILocale>): dayjs.Dayjs;
            };
            isoWeekYear: () => number;
            isoWeek: {
                (): number;
                (value: number): dayjs.Dayjs;
            };
            isoWeekday: {
                (): number;
                (value: number): dayjs.Dayjs;
            };
        }[] | undefined;
        markupPrice?: number | undefined;
        bookingType?: number | undefined;
        boolSplit?: boolean | undefined;
        payWay?: string | undefined;
        boolOnlineCashier?: boolean | undefined;
        promotionChannel: number;
        boolMoreMaxInv?: boolean | undefined;
    }>;
    selectRoom: import('vue').Ref<{
        startDate: string;
        endDate: string;
        name: string;
        id: string;
        boolMoreMaxInv: boolean;
    }>;
    relatedRoomTypeSelectionVisible: import('vue').Ref<boolean>;
    payWayList: import('vue').Ref<{
        boolFromGntw?: boolean | undefined;
        name: string;
        config: "THIRD_PART" | "DISCOUNT" | "STORED_VALUE" | "COLLECT" | "CASH" | "CUSTOM" | "ALIPAY" | "BAIDU_WALLET" | "WECHAT" | "YEEPAY" | "TIKTOK" | "PAY_SCAN" | "PAY_AUTH_CODE" | "PAY_WAP" | "PAY_APP" | "PAY_MINI_PROGRAM" | "PRE_AUTH" | "MARKETING" | "REFUND_PAY_ORIGINAL";
        direction: number;
        boolHasNextStep: boolean;
        boolEnable: boolean;
        disableReason?: string | undefined;
    }[]>;
    pickerOptions: import('vue').Ref<{
        onPick: (dates: {
            maxDate: Date;
            minDate: Date;
        }) => void;
        disabledDate: (date: string) => boolean | undefined;
    }>;
    calendarSelectRef: import('vue').Ref<any>;
    validateForm: import('vue').Ref<any>;
    changeCheckDate: () => Promise<void>;
    changeReserveDate: () => Promise<void>;
    appointment: () => void;
    roomSelect: () => Promise<void>;
    calendarChange: (dates: Date[]) => void;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "close"[], "close", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: boolean;
    };
    initData: {
        type: typeof CreatePresaleOrder;
        default: CreatePresaleOrder;
    };
    calendarInfoMap: {
        type: typeof CalendarRes;
        default: CalendarRes;
    };
}>> & {
    onClose?: ((...args: any[]) => any) | undefined;
}, {
    visible: boolean;
    calendarInfoMap: CalendarRes;
    initData: CreatePresaleOrder;
}, {}>;
export default _default;
