import { HyperionSDK } from '..';
import { FeeTierIndex } from '../utils';
export interface CreatePoolTransactionPayloadArgs {
    currencyA: string;
    currencyB: string;
    currencyAAmount: number | string;
    currencyBAmount: number | string;
    feeTierIndex: number | string;
    currentPriceTick: number | string;
    tickLower: number | string;
    tickUpper: number | string;
    slippage: number | string;
}
export interface EstAmountArgs {
    currencyA: string;
    currencyB: string;
    feeTierIndex: number | string;
    tickLower: number | string;
    tickUpper: number | string;
    currentPriceTick: number | string;
}
export type EstCurrencyAAmountArgs = EstAmountArgs & {
    currencyBAmount: number | string;
};
export type EstCurrencyBAmountArgs = EstAmountArgs & {
    currencyAAmount: number | string;
};
export default class Pool {
    protected _sdk: HyperionSDK;
    constructor(sdk: HyperionSDK);
    fetchAllPools(): Promise<any>;
    fetchPoolById({ poolId }: {
        poolId: string;
    }): Promise<any>;
    getPoolByTokenPairAndFeeTier({ token1, token2, feeTier, }: {
        token1: string;
        token2: string;
        feeTier: FeeTierIndex;
    }): Promise<any>;
    /**
     * Creates a liquidity pool
     *
     * This method is used to initialize a liquidity pool.
     */
    createPoolTransactionPayload(args: CreatePoolTransactionPayloadArgs): Promise<any>;
    fetchTicks({ poolId }: {
        poolId: string;
    }): Promise<any>;
    estCurrencyAAmountFromB(args: EstCurrencyAAmountArgs): Promise<import('@aptos-labs/ts-sdk').MoveValue[]>;
    estCurrencyBAmountFromA(args: EstCurrencyBAmountArgs): Promise<import('@aptos-labs/ts-sdk').MoveValue[]>;
}
//# sourceMappingURL=poolModule.d.ts.map