import { fetchEncodedAccount, fetchEncodedAccounts, Account, Address, EncodedAccount, FetchAccountConfig, FetchAccountsConfig, FixedSizeCodec, FixedSizeDecoder, FixedSizeEncoder, MaybeAccount, MaybeEncodedAccount, ReadonlyUint8Array } from '@solana/kit'; import { AccountDiscriminator, GraduationMethodData, GraduationMethodDataArgs } from '../types'; export declare const BONDING_CURVE_DISCRIMINATOR = AccountDiscriminator.BondingCurve; export declare function getBondingCurveDiscriminatorBytes(): ReadonlyUint8Array; export type BondingCurve = { discriminator: AccountDiscriminator; baseMint: Address; quoteMint: Address; creator: Address; retainMintAuthority: boolean; buyRequiresPermission: boolean; buyPermissionBitmap: ReadonlyUint8Array; sellRequiresPermission: boolean; sellPermissionBitmap: ReadonlyUint8Array; quoteFeeBps: number; baseFeeBps: number; controlPoints: Array; startPrice: bigint; endPrice: bigint; quoteAmount: bigint; baseAmount: bigint; launchTime: bigint; creatorReward: bigint; graduationTarget: bigint; graduationTime: bigint; graduationReward: bigint; maxBuyAmount: bigint; maxSellAmount: bigint; swapFeeBps: number; baseAllocationBps: number; graduationMethods: Array; minReserveBps: number; padding1: ReadonlyUint8Array; premintedSupply: bigint; padding2: ReadonlyUint8Array; }; export type BondingCurveArgs = { baseMint: Address; quoteMint: Address; creator: Address; retainMintAuthority: boolean; buyRequiresPermission: boolean; buyPermissionBitmap: ReadonlyUint8Array; sellRequiresPermission: boolean; sellPermissionBitmap: ReadonlyUint8Array; quoteFeeBps: number; baseFeeBps: number; controlPoints: Array; startPrice: number | bigint; endPrice: number | bigint; quoteAmount: number | bigint; baseAmount: number | bigint; launchTime: number | bigint; creatorReward: number | bigint; graduationTarget: number | bigint; graduationTime: number | bigint; graduationReward: number | bigint; maxBuyAmount: number | bigint; maxSellAmount: number | bigint; swapFeeBps: number; baseAllocationBps: number; graduationMethods: Array; minReserveBps: number; padding1?: ReadonlyUint8Array; premintedSupply: number | bigint; padding2?: ReadonlyUint8Array; }; export declare function getBondingCurveEncoder(): FixedSizeEncoder; export declare function getBondingCurveDecoder(): FixedSizeDecoder; export declare function getBondingCurveCodec(): FixedSizeCodec; export declare function decodeBondingCurve(encodedAccount: EncodedAccount): Account; export declare function decodeBondingCurve(encodedAccount: MaybeEncodedAccount): MaybeAccount; export declare function fetchBondingCurve(rpc: Parameters[0], address: Address, config?: FetchAccountConfig): Promise>; export declare function fetchMaybeBondingCurve(rpc: Parameters[0], address: Address, config?: FetchAccountConfig): Promise>; export declare function fetchAllBondingCurve(rpc: Parameters[0], addresses: Array
, config?: FetchAccountsConfig): Promise[]>; export declare function fetchAllMaybeBondingCurve(rpc: Parameters[0], addresses: Array
, config?: FetchAccountsConfig): Promise[]>; export declare function getBondingCurveSize(): number;