import { DiscountModule } from '../../modules/Discount';
import { RulesModule } from '../../modules/Rules';
import { Discount } from "../../modules/Discount/types";
export declare enum ShopDiscountHooks {
    onInited = "shopDiscount:onInited",
    onDestroy = "shopDiscount:onDestroy",
    onLoadDiscountList = "shopDiscount:onLoadDiscountList",
    onCustomerChange = "shopDiscount:onCustomerChange",
    onScanCustomerChange = "shopDiscount:onScanCustomerChange",
    onDiscountListChange = "shopDiscount:onDiscountListChange",
    onRulesListChange = "shopDiscount:onRulesListChange",
    onLoadPrepareCalcResult = "shopDiscount:onLoadPrepareCalcResult"
}
export type Customer = {
    id: string | number;
    name: string;
    email: string;
    phone: string;
    address: string;
};
export interface ShopDiscountState {
    customer: null | Customer;
    discount: DiscountModule | null;
    rules: RulesModule | null;
    productList: Record<string, any>[];
    holders?: {
        form_record_id: number;
        form_id?: number;
        main_field?: string;
    }[];
    originalDiscountList: Discount[];
    currentBookingTime: string | null;
    filteredDiscountList: Discount[];
    orderTotalAmount?: number;
    bookingSubject?: {
        type?: 'form' | 'customer';
        [key: string]: any;
    };
    orderId?: number;
}
export interface SetDiscountSelectedParams {
    discountId: number;
    isSelected: boolean;
    selectedList?: {
        discountId: number;
        isSelected: boolean;
    }[];
    bookingSubject?: {
        type?: 'form' | 'customer';
        [key: string]: any;
    };
}
