import { PublicKey } from "@solana/web3.js";
import BN from "bn.js";
import * as types from "../types";
export interface ReserveCollateralFields {
    /** Reserve collateral mint address */
    mintPubkey: PublicKey;
    /** Reserve collateral mint supply, used for exchange rate */
    mintTotalSupply: BN;
    /** Reserve collateral supply address */
    supplyVault: PublicKey;
    padding1: Array<BN>;
    padding2: Array<BN>;
}
export interface ReserveCollateralJSON {
    /** Reserve collateral mint address */
    mintPubkey: string;
    /** Reserve collateral mint supply, used for exchange rate */
    mintTotalSupply: string;
    /** Reserve collateral supply address */
    supplyVault: string;
    padding1: Array<string>;
    padding2: Array<string>;
}
/** Reserve collateral */
export declare class ReserveCollateral {
    /** Reserve collateral mint address */
    readonly mintPubkey: PublicKey;
    /** Reserve collateral mint supply, used for exchange rate */
    readonly mintTotalSupply: BN;
    /** Reserve collateral supply address */
    readonly supplyVault: PublicKey;
    readonly padding1: Array<BN>;
    readonly padding2: Array<BN>;
    constructor(fields: ReserveCollateralFields);
    static layout(property?: string): any;
    static fromDecoded(obj: any): types.ReserveCollateral;
    static toEncodable(fields: ReserveCollateralFields): {
        mintPubkey: PublicKey;
        mintTotalSupply: BN;
        supplyVault: PublicKey;
        padding1: BN[];
        padding2: BN[];
    };
    toJSON(): ReserveCollateralJSON;
    static fromJSON(obj: ReserveCollateralJSON): ReserveCollateral;
    toEncodable(): {
        mintPubkey: PublicKey;
        mintTotalSupply: BN;
        supplyVault: PublicKey;
        padding1: BN[];
        padding2: BN[];
    };
}
//# sourceMappingURL=ReserveCollateral.d.ts.map