import BN from "bn.js";
import * as types from "../types";
export interface TickFields {
    initialized: boolean;
    liquidityNet: BN;
    liquidityGross: BN;
    feeGrowthOutsideA: BN;
    feeGrowthOutsideB: BN;
    rewardGrowthsOutside: Array<BN>;
}
export interface TickJSON {
    initialized: boolean;
    liquidityNet: string;
    liquidityGross: string;
    feeGrowthOutsideA: string;
    feeGrowthOutsideB: string;
    rewardGrowthsOutside: Array<string>;
}
export declare class Tick {
    readonly initialized: boolean;
    readonly liquidityNet: BN;
    readonly liquidityGross: BN;
    readonly feeGrowthOutsideA: BN;
    readonly feeGrowthOutsideB: BN;
    readonly rewardGrowthsOutside: Array<BN>;
    constructor(fields: TickFields);
    static layout(property?: string): any;
    static fromDecoded(obj: any): types.Tick;
    static toEncodable(fields: TickFields): {
        initialized: boolean;
        liquidityNet: BN;
        liquidityGross: BN;
        feeGrowthOutsideA: BN;
        feeGrowthOutsideB: BN;
        rewardGrowthsOutside: BN[];
    };
    toJSON(): TickJSON;
    static fromJSON(obj: TickJSON): Tick;
    toEncodable(): {
        initialized: boolean;
        liquidityNet: BN;
        liquidityGross: BN;
        feeGrowthOutsideA: BN;
        feeGrowthOutsideB: BN;
        rewardGrowthsOutside: BN[];
    };
}
