import { AbiPoolKey } from '../types'; export type EkuboPoolKey = PoolKey; export declare class PoolKey { readonly token0: bigint; readonly token1: bigint; readonly config: PoolConfig; private _numId?; private _stringId?; constructor(token0: bigint, token1: bigint, config: PoolConfig, _numId?: bigint | undefined); static fromAbi(abiPk: AbiPoolKey): EkuboPoolKey; static fromStringId(stringId: string): EkuboPoolKey; get stringId(): string; get numId(): bigint; toAbi(): AbiPoolKey; } export interface PoolTypeConfig { readonly kind: 'stableswap' | 'concentrated'; compressed(): bigint; stringId(): string; } export declare class StableswapPoolTypeConfig implements PoolTypeConfig { centerTick: number; amplificationFactor: number; readonly kind = "stableswap"; static fullRangeConfig(): StableswapPoolTypeConfig; constructor(centerTick: number, amplificationFactor: number); isFullRange(): boolean; compressed(): bigint; stringId(): string; } export declare class ConcentratedPoolTypeConfig implements PoolTypeConfig { tickSpacing: number; readonly kind = "concentrated"; constructor(tickSpacing: number); compressed(): bigint; stringId(): string; } export type PoolTypeConfigUnion = { kind: 'stableswap'; amplificationFactor: number; centerTick: number; } | { kind: 'concentrated'; tickSpacing: number; }; export declare class PoolConfig { readonly extension: bigint; readonly fee: bigint; readonly poolTypeConfig: C; private _compressed?; static fromCompressed(compressed: bigint): PoolConfig; constructor(extension: bigint, fee: bigint, poolTypeConfig: C, _compressed?: bigint | undefined); get compressed(): bigint; } export declare function isStableswapKey(key: EkuboPoolKey): key is PoolKey; export declare function isConcentratedKey(key: EkuboPoolKey): key is PoolKey; export interface SwappedEvent { tickAfter: number; sqrtRatioAfter: bigint; liquidityAfter: bigint; } export declare function parseSwappedEvent(data: string): SwappedEvent;