import { Coupon } from './types';
export declare const INVALID_YEARS = "Coupon is not valid for the given number of years.";
export declare const INVALID_FOR_NAME_LENGTH = "Coupon is not valid for the given name length.";
export declare const INVALID_PERCENTAGE = "Invalid percentage amount for coupon.";
export declare const INVALID_USER = "Coupon address does not match.";
export declare const COUPON_EXPIRED = "Coupon has expired.";
export declare const INVALID_AVAILABLE_CLAIMS = "Number of claims cannot be zero.";
export declare const NON_STACKING_COUPON = "Coupon cannot be used with other coupons.";
export declare function validateCoupon(coupon: Coupon, years: number, length: number, address?: string): void;
export declare function validateCoupons(coupons: Coupon[], years: number, length: number, address?: string): void;
export declare function applyCouponsToPrice(coupons: Coupon[], initialPrice: number): number;
export declare function applyCouponToPrice(price: number, coupon?: Coupon): number;
export declare function hasAvailableClaims(rules: {
    available_claims?: string | null;
}): void;
export declare function isCouponValidForNameYears(rules: {
    years?: {
        from: number;
        to: number;
    } | null;
}, years: number): void;
export declare function isValidCouponPercentage(amount: string): void;
export declare function isCouponValidForNameLength(rules: {
    length?: {
        from: number;
        to: number;
    } | null;
}, length: number): void;
export declare function isCouponValidForAddress(rules: {
    user?: string | null;
}, userAddress?: string): void;
export declare function isCouponExpired(rules: {
    expiration?: string | null;
}, currentTimestamp?: string): void;
