import { PublicKey, TransactionInstruction } from '@solana/web3.js';
import BN__default from 'bn.js';
import { BondingCurveParam } from './layout.js';
import { CpmmCreatorFeeOn } from './type.js';
import '../../marshmallow/index.js';
import '../../marshmallow/buffer-layout.js';
import '../../api-aa5759c5.js';
import 'axios';
import '../../solana/type.js';
import '@solana/spl-token';
import '../../api/url.js';
import '../../common/owner.js';
import '../../common/txTool/lookupTable.js';
import '../../common/txTool/txType.js';
import 'decimal.js';
import '../../module/token.js';
import '../../common/pubKey.js';
import '../../common/logger.js';
import '../../module/currency.js';

declare const anchorDataBuf: {
    initialize: Buffer;
    initializeV2: Buffer;
    buyExactIn: Buffer;
    buyExactOut: Buffer;
    sellExactIn: Buffer;
    sellExactOut: Buffer;
    createVestingAccount: Buffer;
    claimVestedToken: Buffer;
    createPlatformConfig: Buffer;
    claimPlatformFee: Buffer;
    updatePlaformConfig: Buffer;
    initializeWithToken2022: Buffer;
    claimPlatformFeeFromVault: Buffer;
    claimCreatorFee: Buffer;
    updatePlatformCurveParam: Buffer;
    removePlatformCurveParam: Buffer;
    createPlatformVestingAccount: Buffer;
};
declare function initialize(programId: PublicKey, payer: PublicKey, creator: PublicKey, configId: PublicKey, platformId: PublicKey, auth: PublicKey, poolId: PublicKey, mintA: PublicKey, mintB: PublicKey, vaultA: PublicKey, vaultB: PublicKey, metadataId: PublicKey, decimals: number, name: string, symbol: string, uri: string, curveParam: ({
    type: "ConstantCurve";
    totalSellA: BN__default;
} | {
    type: "FixedCurve";
} | {
    type: "LinearCurve";
}) & {
    migrateType: "amm" | "cpmm";
    supply: BN__default;
    totalFundRaisingB: BN__default;
}, totalLockedAmount: BN__default, cliffPeriod: BN__default, unlockPeriod: BN__default): TransactionInstruction;
declare function initializeV2(programId: PublicKey, payer: PublicKey, creator: PublicKey, configId: PublicKey, platformId: PublicKey, auth: PublicKey, poolId: PublicKey, mintA: PublicKey, mintB: PublicKey, vaultA: PublicKey, vaultB: PublicKey, metadataId: PublicKey, decimals: number, name: string, symbol: string, uri: string, curveParam: ({
    type: "ConstantCurve";
    totalSellA: BN__default;
} | {
    type: "FixedCurve";
} | {
    type: "LinearCurve";
}) & {
    migrateType: "amm" | "cpmm";
    supply: BN__default;
    totalFundRaisingB: BN__default;
}, totalLockedAmount: BN__default, cliffPeriod: BN__default, unlockPeriod: BN__default, cpmmCreatorFeeOn: CpmmCreatorFeeOn, platformGlobalAccess?: PublicKey): TransactionInstruction;
declare function initializeWithToken2022(programId: PublicKey, payer: PublicKey, creator: PublicKey, configId: PublicKey, platformId: PublicKey, auth: PublicKey, poolId: PublicKey, mintA: PublicKey, mintB: PublicKey, vaultA: PublicKey, vaultB: PublicKey, decimals: number, name: string, symbol: string, uri: string, curveParam: ({
    type: "ConstantCurve";
    totalSellA: BN__default;
} | {
    type: "FixedCurve";
} | {
    type: "LinearCurve";
}) & {
    migrateType: "amm" | "cpmm";
    supply: BN__default;
    totalFundRaisingB: BN__default;
}, totalLockedAmount: BN__default, cliffPeriod: BN__default, unlockPeriod: BN__default, cpmmCreatorFeeOn: CpmmCreatorFeeOn, transferFeeExtensionParams?: {
    transferFeeBasePoints: number;
    maxinumFee: BN__default;
}, platformGlobalAccess?: PublicKey): TransactionInstruction;
declare function buyExactInInstruction(programId: PublicKey, owner: PublicKey, auth: PublicKey, configId: PublicKey, platformId: PublicKey, poolId: PublicKey, userTokenAccountA: PublicKey, userTokenAccountB: PublicKey, vaultA: PublicKey, vaultB: PublicKey, mintA: PublicKey, mintB: PublicKey, tokenProgramA: PublicKey, tokenProgramB: PublicKey, platformClaimFeeVault: PublicKey, creatorClaimFeeVault: PublicKey, amountB: BN__default, minAmountA: BN__default, shareFeeRate?: BN__default, shareFeeReceiver?: PublicKey): TransactionInstruction;
declare function buyExactOutInstruction(programId: PublicKey, owner: PublicKey, auth: PublicKey, configId: PublicKey, platformId: PublicKey, poolId: PublicKey, userTokenAccountA: PublicKey, userTokenAccountB: PublicKey, vaultA: PublicKey, vaultB: PublicKey, mintA: PublicKey, mintB: PublicKey, tokenProgramA: PublicKey, tokenProgramB: PublicKey, platformClaimFeeVault: PublicKey, creatorClaimFeeVault: PublicKey, amountA: BN__default, maxAmountB: BN__default, shareFeeRate?: BN__default, shareFeeReceiver?: PublicKey): TransactionInstruction;
declare function sellExactInInstruction(programId: PublicKey, owner: PublicKey, auth: PublicKey, configId: PublicKey, platformId: PublicKey, poolId: PublicKey, userTokenAccountA: PublicKey, userTokenAccountB: PublicKey, vaultA: PublicKey, vaultB: PublicKey, mintA: PublicKey, mintB: PublicKey, tokenProgramA: PublicKey, tokenProgramB: PublicKey, platformClaimFeeVault: PublicKey, creatorClaimFeeVault: PublicKey, amountA: BN__default, minAmountB: BN__default, shareFeeRate?: BN__default, shareFeeReceiver?: PublicKey): TransactionInstruction;
declare function sellExactOut(programId: PublicKey, owner: PublicKey, auth: PublicKey, configId: PublicKey, platformId: PublicKey, poolId: PublicKey, userTokenAccountA: PublicKey, userTokenAccountB: PublicKey, vaultA: PublicKey, vaultB: PublicKey, mintA: PublicKey, mintB: PublicKey, tokenProgramA: PublicKey, tokenProgramB: PublicKey, platformClaimFeeVault: PublicKey, creatorClaimFeeVault: PublicKey, amountB: BN__default, maxAmountA: BN__default, shareFeeRate?: BN__default, shareFeeReceiver?: PublicKey): TransactionInstruction;
declare function claimVestedToken(programId: PublicKey, owner: PublicKey, auth: PublicKey, poolId: PublicKey, vestingRecord: PublicKey, userTokenAccountA: PublicKey, vaultA: PublicKey, mintA: PublicKey, tokenProgramA: PublicKey): TransactionInstruction;
declare function createVestingAccount(programId: PublicKey, owner: PublicKey, beneficiary: PublicKey, poolId: PublicKey, vestingRecord: PublicKey, shareAmount: BN__default): TransactionInstruction;
declare function claimPlatformFee(programId: PublicKey, platformClaimFeeWallet: PublicKey, auth: PublicKey, poolId: PublicKey, platformId: PublicKey, vaultB: PublicKey, userTokenAccountB: PublicKey, mintB: PublicKey, tokenProgramB: PublicKey): TransactionInstruction;
declare function createPlatformConfig(programId: PublicKey, platformAdmin: PublicKey, platformClaimFeeWallet: PublicKey, platformLockNftWallet: PublicKey, platformVestingWallet: PublicKey, platformId: PublicKey, cpConfigId: PublicKey, transferFeeExtensionAuth: PublicKey, migrateCpLockNftScale: {
    platformScale: BN__default;
    creatorScale: BN__default;
    burnScale: BN__default;
}, feeRate: BN__default, creatorFeeRate: BN__default, name: string, web: string, img: string, platformVestingScale: BN__default): TransactionInstruction;
declare function updatePlatformConfig(programId: PublicKey, platformAdmin: PublicKey, platformId: PublicKey, updateInfo: {
    type: "updateClaimFeeWallet" | "updateLockNftWallet";
    value: PublicKey;
} | {
    type: "updateFeeRate";
    value: BN__default;
} | {
    type: "updateName" | "updateImg" | "updateWeb";
    value: string;
} | {
    type: "migrateCpLockNftScale";
    value: {
        platformScale: BN__default;
        creatorScale: BN__default;
        burnScale: BN__default;
    };
} | {
    type: "updateCpConfigId";
    value: PublicKey;
} | {
    type: "updateVestingWallet";
    value: PublicKey;
} | {
    type: "updatePlatformVestingScale";
    value: BN__default;
} | {
    type: "updatePlatformCpCreator";
    value: PublicKey;
} | {
    type: "updateAll";
    value: {
        platformClaimFeeWallet: PublicKey;
        platformLockNftWallet: PublicKey;
        platformVestingWallet: PublicKey;
        cpConfigId: PublicKey;
        migrateCpLockNftScale: {
            platformScale: BN__default;
            creatorScale: BN__default;
            burnScale: BN__default;
        };
        feeRate: BN__default;
        name: string;
        web: string;
        img: string;
        transferFeeExtensionAuth: PublicKey;
        creatorFeeRate: BN__default;
        platformVestingScale: BN__default;
    };
}): TransactionInstruction;
declare function claimPlatformFeeFromVault(programId: PublicKey, platformId: PublicKey, platformClaimFeeWallet: PublicKey, platformClaimFeeAuth: PublicKey, platformClaimFeeVault: PublicKey, recipientTokenAccount: PublicKey, mintB: PublicKey, mintProgramB: PublicKey): TransactionInstruction;
declare function claimCreatorFee(programId: PublicKey, creator: PublicKey, creatorClaimFeeAuth: PublicKey, creatorClaimFeeVault: PublicKey, recipientTokenAccount: PublicKey, mintB: PublicKey, mintProgramB: PublicKey): TransactionInstruction;
declare function updatePlatformCurveParamInstruction(programId: PublicKey, platformAdmin: PublicKey, platformId: PublicKey, configId: PublicKey, index: number, params: Partial<ReturnType<typeof BondingCurveParam.decode>>): TransactionInstruction;
declare function removePlatformCurveParamInstruction(programId: PublicKey, platformAdmin: PublicKey, platformId: PublicKey, index: number): TransactionInstruction;
declare function createPlatformVestingAccountIns(programId: PublicKey, platformVestingWallet: PublicKey, beneficiary: PublicKey, platformId: PublicKey, poolId: PublicKey, vestingRecord: PublicKey): TransactionInstruction;

export { anchorDataBuf, buyExactInInstruction, buyExactOutInstruction, claimCreatorFee, claimPlatformFee, claimPlatformFeeFromVault, claimVestedToken, createPlatformConfig, createPlatformVestingAccountIns, createVestingAccount, initialize, initializeV2, initializeWithToken2022, removePlatformCurveParamInstruction, sellExactInInstruction, sellExactOut, updatePlatformConfig, updatePlatformCurveParamInstruction };
