import BN from "bn.js";
import * as types from "../types";
import * as borsh from "@coral-xyz/borsh";
export type NewPriceRangeFields = [
    types.DexSpecificPriceKind,
    types.DexSpecificPriceKind
];
export type NewPriceRangeValue = [
    types.DexSpecificPriceKind,
    types.DexSpecificPriceKind
];
export interface NewPriceRangeJSON {
    kind: "NewPriceRange";
    value: [types.DexSpecificPriceJSON, types.DexSpecificPriceJSON];
}
export declare class NewPriceRange {
    static readonly discriminator = 0;
    static readonly kind = "NewPriceRange";
    readonly discriminator = 0;
    readonly kind = "NewPriceRange";
    readonly value: NewPriceRangeValue;
    constructor(value: NewPriceRangeFields);
    toJSON(): NewPriceRangeJSON;
    toEncodable(): {
        NewPriceRange: {
            _0: {
                SqrtPrice: {
                    _0: BN;
                };
            } | {
                Q64_64: {
                    _0: BN;
                };
            };
            _1: {
                SqrtPrice: {
                    _0: BN;
                };
            } | {
                Q64_64: {
                    _0: 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>;
//# sourceMappingURL=RebalanceAction.d.ts.map