///
import { AccountInfo, Commitment, Connection, PublicKey, Signer, Transaction, TransactionInstruction, TransactionSignature } from '@solana/web3.js';
import { WhirlpoolStrategy } from '../kamino-client/accounts';
import Decimal from 'decimal.js';
import { CollateralInfo } from '../kamino-client/types';
export declare const ASSOCIATED_TOKEN_PROGRAM_ID: PublicKey;
export declare const TOKEN_PROGRAM_ID: PublicKey;
export declare const SOL_MINTS: PublicKey[];
export declare const DECIMALS_SOL = 9;
export declare function getAssociatedTokenAddressAndData(connection: Connection, mint: PublicKey, owner: PublicKey): Promise<[PublicKey, AccountInfo | null]>;
export declare function getAssociatedTokenAddress(mint: PublicKey, owner: PublicKey, allowOwnerOffCurve?: boolean, programId?: PublicKey, associatedTokenProgramId?: PublicKey): PublicKey;
export declare function createAssociatedTokenAccountInstruction(payer: PublicKey, associatedToken: PublicKey, owner: PublicKey, mint: PublicKey, programId?: PublicKey, associatedTokenProgramId?: PublicKey): TransactionInstruction;
export declare function createAddExtraComputeUnitsTransaction(owner: PublicKey, units: number): TransactionInstruction;
export declare function createTransactionWithExtraBudget(payer: PublicKey, extraUnits?: number): Transaction;
export declare function assignBlockInfoToTransaction(connection: Connection, transaction: Transaction, payer: PublicKey): Promise;
export declare function sendTransactionWithLogs(connection: Connection, tx: Transaction, payer: PublicKey, signers: Signer[], commitment?: Commitment, skipPreflight?: boolean): Promise;
export declare function getStrategyPriceRangeOrca(tickLowerIndex: number, tickUpperIndex: number, strategy: WhirlpoolStrategy, poolPrice: Decimal): {
priceLower: Decimal;
poolPrice: Decimal;
priceUpper: Decimal;
strategyOutOfRange: boolean;
};
export declare function getStrategyPriceRangeRaydium(tickLowerIndex: number, tickUpperIndex: number, tickCurrent: number, tokenADecimals: number, tokenBDecimals: number): {
priceLower: Decimal;
poolPrice: Decimal;
priceUpper: Decimal;
strategyOutOfRange: boolean;
};
export declare function getPriceLowerUpper(tickLowerIndex: number, tickUpperIndex: number, tokenAMintDecimals: number, tokenBMintDecimals: number): {
priceLower: Decimal;
priceUpper: Decimal;
};
export declare function getTokenNameFromCollateralInfo(collateralInfo: CollateralInfo): string;
export declare const isSOLMint: (mint: PublicKey) => boolean;
export declare function removeBudgetAndAtaIxns(ixns: TransactionInstruction[], mints: string[]): TransactionInstruction[];