/** * @example * { * id: "id", * commission_type: "flat_fee", * commission_value: 5, * email: "affiliate@example.com" * } * * @example * { * id: "id", * commission_type: "percentage", * commission_value: 20, * user_id: "user_xxxxxxxxxxxxx" * } */ export interface AssignAffiliateMembershipsRequest { /** Membership ID (`mem_` tag). */ id: string; /** Whether the commission is a percentage of each payment or a fixed amount per payment. */ commission_type: AssignAffiliateMembershipsRequest.CommissionType; /** A whole number from 1 to 90 for `percentage`, or an amount greater than 1 in the membership currency for `flat_fee`. The payout cannot exceed 90% of the next renewal amount. Flat fees need matching billing and settlement currencies. */ commission_value: number; /** Email address of the user to assign. Pass exactly one of `user_id`, `email`, or `username`. */ email?: string; /** The user to assign, prefixed `user_`. Pass exactly one of `user_id`, `email`, or `username`. */ user_id?: string; /** Whop username of the user to assign. Pass exactly one of `user_id`, `email`, or `username`. */ username?: string; } export declare namespace AssignAffiliateMembershipsRequest { /** Whether the commission is a percentage of each payment or a fixed amount per payment. */ const CommissionType: { readonly FlatFee: "flat_fee"; readonly Percentage: "percentage"; }; type CommissionType = (typeof CommissionType)[keyof typeof CommissionType]; }