import { Address } from "@solana/kit";
import BN from "bn.js";
import * as types from "../types";
export interface BorrowOrderFields {
    debtLiquidityMint: Address;
    remainingDebtAmount: BN;
    filledDebtDestination: Address;
    minDebtTermSeconds: BN;
    fillableUntilTimestamp: BN;
    placedAtTimestamp: BN;
    lastUpdatedAtTimestamp: BN;
    requestedDebtAmount: BN;
    maxBorrowRateBps: number;
    active: number;
    enableAutoRolloverOnFilledBorrows: number;
    padding1: Array<number>;
    endPadding: Array<BN>;
}
export interface BorrowOrderJSON {
    debtLiquidityMint: string;
    remainingDebtAmount: string;
    filledDebtDestination: string;
    minDebtTermSeconds: string;
    fillableUntilTimestamp: string;
    placedAtTimestamp: string;
    lastUpdatedAtTimestamp: string;
    requestedDebtAmount: string;
    maxBorrowRateBps: number;
    active: number;
    enableAutoRolloverOnFilledBorrows: number;
    padding1: Array<number>;
    endPadding: Array<string>;
}
export declare class BorrowOrder {
    readonly debtLiquidityMint: Address;
    readonly remainingDebtAmount: BN;
    readonly filledDebtDestination: Address;
    readonly minDebtTermSeconds: BN;
    readonly fillableUntilTimestamp: BN;
    readonly placedAtTimestamp: BN;
    readonly lastUpdatedAtTimestamp: BN;
    readonly requestedDebtAmount: BN;
    readonly maxBorrowRateBps: number;
    readonly active: number;
    readonly enableAutoRolloverOnFilledBorrows: number;
    readonly padding1: Array<number>;
    readonly endPadding: Array<BN>;
    constructor(fields: BorrowOrderFields);
    static layout(property?: string): import("buffer-layout").Layout<unknown>;
    static fromDecoded(obj: any): types.BorrowOrder;
    static toEncodable(fields: BorrowOrderFields): {
        debtLiquidityMint: Address;
        remainingDebtAmount: BN;
        filledDebtDestination: Address;
        minDebtTermSeconds: BN;
        fillableUntilTimestamp: BN;
        placedAtTimestamp: BN;
        lastUpdatedAtTimestamp: BN;
        requestedDebtAmount: BN;
        maxBorrowRateBps: number;
        active: number;
        enableAutoRolloverOnFilledBorrows: number;
        padding1: number[];
        endPadding: BN[];
    };
    toJSON(): BorrowOrderJSON;
    static fromJSON(obj: BorrowOrderJSON): BorrowOrder;
    toEncodable(): {
        debtLiquidityMint: Address;
        remainingDebtAmount: BN;
        filledDebtDestination: Address;
        minDebtTermSeconds: BN;
        fillableUntilTimestamp: BN;
        placedAtTimestamp: BN;
        lastUpdatedAtTimestamp: BN;
        requestedDebtAmount: BN;
        maxBorrowRateBps: number;
        active: number;
        enableAutoRolloverOnFilledBorrows: number;
        padding1: number[];
        endPadding: BN[];
    };
}
//# sourceMappingURL=BorrowOrder.d.ts.map