import { E_CustomerBenefitSource, E_MaximumUsageType } from '../../backend/enums';
import { T_BenefitsValidation, T_BenefitTypeOption, T_TemporaryBenefit, T_TemporaryBenefits } from '../types';
import { T_FalsyValue } from 'src/common/client/types';
import { I_Benefit } from '../../backend/responses/schemas';
export type T_MaximumUsageConfigurationProps = {
    defaultMaximumUsage?: number;
    defaultMaximumUsageType?: E_MaximumUsageType;
    onChange?: (numberOfUses: number | undefined, numberOfUsesType: E_MaximumUsageType | undefined) => void;
};
export type T_BenefitsConfigurationFormProps = {
    source?: E_CustomerBenefitSource;
    defaultBenefits?: T_TemporaryBenefits;
    onChange?: (benefits: T_TemporaryBenefits, benefitsValidation: T_BenefitsValidation) => void;
};
export type T_CommonBenefitProps = {
    benefit: T_TemporaryBenefit;
};
export type T_BenefitTypeSelectorProps = {
    onChange?: (selectedBenefitTypeOption: T_BenefitTypeOption) => void;
} & T_CommonBenefitProps;
export type T_DiscountValueProps = {
    onChange?: (value: number) => void;
} & T_CommonBenefitProps;
export type T_ShowMoreBenefitsButtonProps = {
    title?: string;
    benefits: T_FalsyValue<I_Benefit[]>;
};
//# sourceMappingURL=index.d.ts.map