import { Address, IAccountMeta, IInstruction, TransactionSigner } from "@solana/kit";
import BN from "bn.js";
export interface CollectProtocolFeeArgs {
    amount0Requested: BN;
    amount1Requested: BN;
}
export interface CollectProtocolFeeAccounts {
    owner: TransactionSigner;
    poolState: Address;
    ammConfig: Address;
    tokenVault0: Address;
    tokenVault1: Address;
    vault0Mint: Address;
    vault1Mint: Address;
    recipientTokenAccount0: Address;
    recipientTokenAccount1: Address;
    tokenProgram: Address;
    tokenProgram2022: Address;
}
export declare const layout: import("buffer-layout").Layout<unknown>;
export declare function collectProtocolFee(args: CollectProtocolFeeArgs, accounts: CollectProtocolFeeAccounts, programAddress?: Address): IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>;
//# sourceMappingURL=collectProtocolFee.d.ts.map