import { type ContractRunner } from "ethers"; import type { ICouponRegistry, ICouponRegistryInterface } from "../../registry/ICouponRegistry"; export declare class ICouponRegistry__factory { static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "CouponAlreadyRedeemed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }]; readonly name: "CouponCodeNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }]; readonly name: "CouponExpired"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }]; readonly name: "CouponInitialPurchaseOnly"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxRedemptions"; readonly type: "uint256"; }]; readonly name: "CouponMaxRedemptionsReached"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }]; readonly name: "CouponNotActive"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "CouponRestricted"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidCouponCode"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }]; readonly name: "CouponCreated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "CouponRedeemed"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }]; readonly name: "CouponStatusUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }]; readonly name: "CouponUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }]; readonly name: "PassCouponCodeSet"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiration"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTotalRedemptions"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchaseOnly"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isOneTimeUse"; readonly type: "bool"; }]; readonly internalType: "struct ICouponRegistry.CreateCouponParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createCoupon"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "discountedAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }]; readonly name: "getCoupon"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiration"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalRedemptions"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTotalRedemptions"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchaseOnly"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isOneTimeUse"; readonly type: "bool"; }]; readonly internalType: "struct ICouponRegistry.Coupon"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }]; readonly name: "getOrgCouponIds"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }]; readonly name: "getOrgCoupons"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiration"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalRedemptions"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTotalRedemptions"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchaseOnly"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isOneTimeUse"; readonly type: "bool"; }]; readonly internalType: "struct ICouponRegistry.Coupon[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "getRedeemedCoupons"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "hasPassCouponCode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }]; readonly name: "hasRedeemedCoupon"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchase"; readonly type: "bool"; }]; readonly name: "isCodeRedeemable"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }]; readonly name: "orgCouponCodes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }]; readonly name: "orgCouponExists"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "passOwnerCodes"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchase"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "redeemCoupon"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "removePassCouponCode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "active"; readonly type: "bool"; }]; readonly name: "setCouponActive"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }]; readonly name: "setCouponDiscount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiration"; readonly type: "uint256"; }]; readonly name: "setCouponExpiration"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTotalRedemptions"; readonly type: "uint256"; }]; readonly name: "setCouponMaxRedemptions"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchaseOnly"; readonly type: "bool"; }]; readonly name: "setCouponNewCustomers"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "restricted"; readonly type: "bool"; }]; readonly name: "setCouponRestricted"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }]; readonly name: "setPassCouponCode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "passOwners"; readonly type: "address[]"; }, { readonly internalType: "string[]"; readonly name: "codes"; readonly type: "string[]"; }]; readonly name: "setPassCouponCodeBatch"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "passOwners"; readonly type: "address[]"; }, { readonly internalType: "bool[]"; readonly name: "restricted"; readonly type: "bool[]"; }]; readonly name: "setRestrictedAccess"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalCoupons"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): ICouponRegistryInterface; static connect(address: string, runner?: ContractRunner | null): ICouponRegistry; }