import BN from "bn.js";
import * as types from "../types";
export interface ObligationOrderFields {
    conditionThresholdSf: BN;
    opportunityParameterSf: BN;
    minExecutionBonusBps: number;
    maxExecutionBonusBps: number;
    conditionType: number;
    opportunityType: number;
    padding1: Array<number>;
    padding2: Array<BN>;
}
export interface ObligationOrderJSON {
    conditionThresholdSf: string;
    opportunityParameterSf: string;
    minExecutionBonusBps: number;
    maxExecutionBonusBps: number;
    conditionType: number;
    opportunityType: number;
    padding1: Array<number>;
    padding2: Array<string>;
}
export declare class ObligationOrder {
    readonly conditionThresholdSf: BN;
    readonly opportunityParameterSf: BN;
    readonly minExecutionBonusBps: number;
    readonly maxExecutionBonusBps: number;
    readonly conditionType: number;
    readonly opportunityType: number;
    readonly padding1: Array<number>;
    readonly padding2: Array<BN>;
    constructor(fields: ObligationOrderFields);
    static layout(property?: string): import("buffer-layout").Layout<unknown>;
    static fromDecoded(obj: any): types.ObligationOrder;
    static toEncodable(fields: ObligationOrderFields): {
        conditionThresholdSf: BN;
        opportunityParameterSf: BN;
        minExecutionBonusBps: number;
        maxExecutionBonusBps: number;
        conditionType: number;
        opportunityType: number;
        padding1: number[];
        padding2: BN[];
    };
    toJSON(): ObligationOrderJSON;
    static fromJSON(obj: ObligationOrderJSON): ObligationOrder;
    toEncodable(): {
        conditionThresholdSf: BN;
        opportunityParameterSf: BN;
        minExecutionBonusBps: number;
        maxExecutionBonusBps: number;
        conditionType: number;
        opportunityType: number;
        padding1: number[];
        padding2: BN[];
    };
}
//# sourceMappingURL=ObligationOrder.d.ts.map