import BN from "bn.js";
import * as types from "../types";
import * as borsh from "@coral-xyz/borsh";
export type BpsFields = [BN];
export type BpsValue = [BN];
export interface BpsJSON {
    kind: "Bps";
    value: [string];
}
export declare class Bps {
    static readonly discriminator = 0;
    static readonly kind = "Bps";
    readonly discriminator = 0;
    readonly kind = "Bps";
    readonly value: BpsValue;
    constructor(value: BpsFields);
    toJSON(): BpsJSON;
    toEncodable(): {
        Bps: {
            _0: BN;
        };
    };
}
export type AbsoluteFields = {
    /** Amount of src token expected by the user to perform the swap */
    srcAmountToSwap: BN;
    /** Amount of dst token the user provides in exchange */
    dstAmountToVault: BN;
    aToB: boolean;
};
export type AbsoluteValue = {
    /** Amount of src token expected by the user to perform the swap */
    srcAmountToSwap: BN;
    /** Amount of dst token the user provides in exchange */
    dstAmountToVault: BN;
    aToB: boolean;
};
export interface AbsoluteJSON {
    kind: "Absolute";
    value: {
        /** Amount of src token expected by the user to perform the swap */
        srcAmountToSwap: string;
        /** Amount of dst token the user provides in exchange */
        dstAmountToVault: string;
        aToB: boolean;
    };
}
export declare class Absolute {
    static readonly discriminator = 1;
    static readonly kind = "Absolute";
    readonly discriminator = 1;
    readonly kind = "Absolute";
    readonly value: AbsoluteValue;
    constructor(value: AbsoluteFields);
    toJSON(): AbsoluteJSON;
    toEncodable(): {
        Absolute: {
            srcAmountToSwap: BN;
            dstAmountToVault: BN;
            aToB: boolean;
        };
    };
}
export declare function fromDecoded(obj: any): types.SwapLimitKind;
export declare function fromJSON(obj: types.SwapLimitJSON): types.SwapLimitKind;
export declare function layout(property?: string): borsh.EnumLayout<unknown>;
//# sourceMappingURL=SwapLimit.d.ts.map