import { Address, Codec, Decoder, Encoder, GetDiscriminatedUnionVariant, GetDiscriminatedUnionVariantContent, ReadonlyUint8Array } from '@solana/kit'; import { BondingCurveCreationType, BondingCurveCreationTypeArgs, GraduationMethodData, GraduationMethodDataArgs } from '.'; export type Event = { __kind: "BondingCurveCreated"; creationType: BondingCurveCreationType; baseMint: Address; quoteMint: Address; creator: Address; startPrice: bigint; endPrice: bigint; controlPoints: Array; swapFeeBps: number; quoteFeeBps: number; baseFeeBps: number; baseAllocationBps: number; launchTime: bigint; creatorReward: bigint; graduationMethods: Array; graduationTarget: bigint; graduationTime: bigint; graduationReward: bigint; retainMintAuthority: boolean; minReserveBps: number; buyRequiresPermission: boolean; buyPermissionBitmap: ReadonlyUint8Array; maxBuyAmount: bigint; sellRequiresPermission: boolean; sellPermissionBitmap: ReadonlyUint8Array; maxSellAmount: bigint; quoteTokenProgram: Address; baseTokenProgram: Address; quoteTokenDecimals: number; baseTokenDecimals: number; } | { __kind: "TokenBought"; buyer: Address; baseMint: Address; quoteMint: Address; amountIn: bigint; amountOut: bigint; priceBefore: bigint; priceAfter: bigint; quoteAmountBefore: bigint; quoteAmountAfter: bigint; baseAmountBefore: bigint; baseAmountAfter: bigint; protocolFee: bigint; } | { __kind: "TokenSold"; seller: Address; baseMint: Address; quoteMint: Address; amountIn: bigint; amountOut: bigint; priceBefore: bigint; priceAfter: bigint; quoteAmountBefore: bigint; quoteAmountAfter: bigint; baseAmountBefore: bigint; baseAmountAfter: bigint; protocolFee: bigint; } | { __kind: "TokenRefunded"; signer: Address; baseMint: Address; quoteMint: Address; price: bigint; quoteAmount: bigint; baseAmount: bigint; } | { __kind: "BondingCurveGraduated"; graduator: Address; baseMint: Address; quoteMint: Address; finalPrice: bigint; graduationMethods: Array; } | { __kind: "BondingCurveClosed"; bondingCurve: Address; }; export type EventArgs = { __kind: "BondingCurveCreated"; creationType: BondingCurveCreationTypeArgs; baseMint: Address; quoteMint: Address; creator: Address; startPrice: number | bigint; endPrice: number | bigint; controlPoints: Array; swapFeeBps: number; quoteFeeBps: number; baseFeeBps: number; baseAllocationBps: number; launchTime: number | bigint; creatorReward: number | bigint; graduationMethods: Array; graduationTarget: number | bigint; graduationTime: number | bigint; graduationReward: number | bigint; retainMintAuthority: boolean; minReserveBps: number; buyRequiresPermission: boolean; buyPermissionBitmap: ReadonlyUint8Array; maxBuyAmount: number | bigint; sellRequiresPermission: boolean; sellPermissionBitmap: ReadonlyUint8Array; maxSellAmount: number | bigint; quoteTokenProgram: Address; baseTokenProgram: Address; quoteTokenDecimals: number; baseTokenDecimals: number; } | { __kind: "TokenBought"; buyer: Address; baseMint: Address; quoteMint: Address; amountIn: number | bigint; amountOut: number | bigint; priceBefore: number | bigint; priceAfter: number | bigint; quoteAmountBefore: number | bigint; quoteAmountAfter: number | bigint; baseAmountBefore: number | bigint; baseAmountAfter: number | bigint; protocolFee: number | bigint; } | { __kind: "TokenSold"; seller: Address; baseMint: Address; quoteMint: Address; amountIn: number | bigint; amountOut: number | bigint; priceBefore: number | bigint; priceAfter: number | bigint; quoteAmountBefore: number | bigint; quoteAmountAfter: number | bigint; baseAmountBefore: number | bigint; baseAmountAfter: number | bigint; protocolFee: number | bigint; } | { __kind: "TokenRefunded"; signer: Address; baseMint: Address; quoteMint: Address; price: number | bigint; quoteAmount: number | bigint; baseAmount: number | bigint; } | { __kind: "BondingCurveGraduated"; graduator: Address; baseMint: Address; quoteMint: Address; finalPrice: number | bigint; graduationMethods: Array; } | { __kind: "BondingCurveClosed"; bondingCurve: Address; }; export declare function getEventEncoder(): Encoder; export declare function getEventDecoder(): Decoder; export declare function getEventCodec(): Codec; export declare function event(kind: "BondingCurveCreated", data: GetDiscriminatedUnionVariantContent): GetDiscriminatedUnionVariant; export declare function event(kind: "TokenBought", data: GetDiscriminatedUnionVariantContent): GetDiscriminatedUnionVariant; export declare function event(kind: "TokenSold", data: GetDiscriminatedUnionVariantContent): GetDiscriminatedUnionVariant; export declare function event(kind: "TokenRefunded", data: GetDiscriminatedUnionVariantContent): GetDiscriminatedUnionVariant; export declare function event(kind: "BondingCurveGraduated", data: GetDiscriminatedUnionVariantContent): GetDiscriminatedUnionVariant; export declare function event(kind: "BondingCurveClosed", data: GetDiscriminatedUnionVariantContent): GetDiscriminatedUnionVariant; export declare function isEvent(kind: K, value: Event): value is Event & { __kind: K; };