import { Address, IAccountMeta, IInstruction, TransactionSigner } from "@solana/kit";
import BN from "bn.js";
import * as types from "../types";
export interface InitializePoolArgs {
    bumps: types.WhirlpoolBumpsFields;
    tickSpacing: number;
    initialSqrtPrice: BN;
}
export interface InitializePoolAccounts {
    whirlpoolsConfig: Address;
    tokenMintA: Address;
    tokenMintB: Address;
    funder: TransactionSigner;
    whirlpool: Address;
    tokenVaultA: TransactionSigner;
    tokenVaultB: TransactionSigner;
    feeTier: Address;
    tokenProgram: Address;
    systemProgram: Address;
    rent: Address;
}
export declare const layout: import("buffer-layout").Layout<unknown>;
export declare function initializePool(args: InitializePoolArgs, accounts: InitializePoolAccounts, programAddress?: Address): IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>;
//# sourceMappingURL=initializePool.d.ts.map