import { Property } from 'csstype';
import dayjs from 'dayjs';
export type IPromotionApplication = {
    checkInDate?: string;
    checkOutDate?: string;
    adults?: number;
    children?: number;
    infants?: number;
    promoCode?: string;
};
export type IPromotionTestCriteria = {
    checkInDate: dayjs.Dayjs;
    checkOutDate: dayjs.Dayjs;
    adults: number;
    children: number;
    infants: number;
    promoCode: string;
};
export type IPromotion = {
    name: string;
    description: string;
    requireMemberPromotion?: boolean;
    memberOnlyModalTitle?: string;
    memberOnlyModalSubtitle?: string;
    memberOnlyModalButtonText?: string;
    memberOnlyDisableDefaultPromo?: boolean;
    memberOnlyModalImage?: string;
    memberOnlyModalImageSize: Property.ObjectFit;
    testCriteria: (criteria: IPromotionTestCriteria) => Promise<boolean>;
    onApply: (criteria: IPromotionTestCriteria) => IPromotionApplication;
};
