import BN from "bn.js";
import * as types from "../types";
import * as borsh from "@project-serum/borsh";
export type NewSqrtPriceRangeFields = [BN, BN];
export type NewSqrtPriceRangeValue = [BN, BN];
export interface NewSqrtPriceRangeJSON {
    kind: "NewSqrtPriceRange";
    value: [string, string];
}
export declare class NewSqrtPriceRange {
    static readonly discriminator = 0;
    static readonly kind = "NewSqrtPriceRange";
    readonly discriminator = 0;
    readonly kind = "NewSqrtPriceRange";
    readonly value: NewSqrtPriceRangeValue;
    constructor(value: NewSqrtPriceRangeFields);
    toJSON(): NewSqrtPriceRangeJSON;
    toEncodable(): {
        NewSqrtPriceRange: {
            _0: BN;
            _1: BN;
        };
    };
}
export type NewTickRangeFields = [number, number];
export type NewTickRangeValue = [number, number];
export interface NewTickRangeJSON {
    kind: "NewTickRange";
    value: [number, number];
}
export declare class NewTickRange {
    static readonly discriminator = 1;
    static readonly kind = "NewTickRange";
    readonly discriminator = 1;
    readonly kind = "NewTickRange";
    readonly value: NewTickRangeValue;
    constructor(value: NewTickRangeFields);
    toJSON(): NewTickRangeJSON;
    toEncodable(): {
        NewTickRange: {
            _0: number;
            _1: number;
        };
    };
}
export interface WithdrawAndFreezeJSON {
    kind: "WithdrawAndFreeze";
}
export declare class WithdrawAndFreeze {
    static readonly discriminator = 2;
    static readonly kind = "WithdrawAndFreeze";
    readonly discriminator = 2;
    readonly kind = "WithdrawAndFreeze";
    toJSON(): WithdrawAndFreezeJSON;
    toEncodable(): {
        WithdrawAndFreeze: {};
    };
}
export declare function fromDecoded(obj: any): types.RebalanceActionKind;
export declare function fromJSON(obj: types.RebalanceActionJSON): types.RebalanceActionKind;
export declare function layout(property?: string): borsh.EnumLayout<unknown>;
