import Decimal from 'decimal.js';
import { PositionRange, RebalanceFieldInfo, RebalanceFieldsDict } from '../utils/types';
import { RebalanceRaw } from '../kamino-client/types';
import { Dex } from '../utils';
export declare const DefaultMaxNumberOfExpansions: Decimal;
export declare const DefaultExpansionSizeBPS: Decimal;
export declare const DefaultSwapUnevenAllowed: Decimal;
export declare const ExpanderRebalanceTypeName = "expander";
export declare function getExpanderRebalanceFieldInfos(price: Decimal, lowerPercentageBPS: Decimal, upperPercentageBPS: Decimal, resetLowerPercentageBPS: Decimal, resetUpperPercentageBPS: Decimal, expansionBPS: Decimal, maxNumberOfExpansions: Decimal, swapUnevenAllowed: Decimal, enabled?: boolean): RebalanceFieldInfo[];
export declare function getPositionRangeFromExpanderParams(price: Decimal, lowerPriceDifferenceBPS: Decimal, upperPriceDifferenceBPS: Decimal): PositionRange;
export declare function getPositionResetRangeFromExpanderParams(price: Decimal, lowerPriceDifferenceBPS: Decimal, upperPriceDifferenceBPS: Decimal, resetLowerPriceDifferenceBPS: Decimal, resetUpperPriceDifferenceBPS: Decimal): PositionRange;
export declare function getDefaultExpanderRebalanceFieldInfos(price: Decimal): RebalanceFieldInfo[];
export declare function readRawExpanderRebalanceParamsFromStrategy(rebalanceRaw: RebalanceRaw): RebalanceFieldsDict;
export declare function readExpanderRebalanceParamsFromStrategy(rebalanceRaw: RebalanceRaw): RebalanceFieldInfo[];
export declare function readRawExpanderRebalanceStateFromStrategy(rebalanceRaw: RebalanceRaw): RebalanceFieldsDict;
export declare function readExpanderRebalanceStateFromStrategy(dex: Dex, tokenADecimals: number, tokenBDecimals: number, rebalanceRaw: RebalanceRaw): RebalanceFieldInfo[];
export declare function readExpanderRebalanceFieldInfosFromStrategy(price: Decimal, rebalanceRaw: RebalanceRaw): RebalanceFieldInfo[];
export declare function deserializeExpanderRebalanceWithStateOverride(dex: Dex, tokenADecimals: number, tokenBDecimals: number, price: Decimal, rebalanceRaw: RebalanceRaw): RebalanceFieldInfo[];
