import { PublicKey, Connection } from "@solana/web3.js";
import BN from "bn.js";
import * as types from "../types";
export interface BinArrayFields {
    index: BN;
    /** Version of binArray */
    version: number;
    padding: Array<number>;
    lbPair: PublicKey;
    bins: Array<types.BinFields>;
}
export interface BinArrayJSON {
    index: string;
    /** Version of binArray */
    version: number;
    padding: Array<number>;
    lbPair: string;
    bins: Array<types.BinJSON>;
}
/**
 * An account to contain a range of bin. For example: Bin 100 <-> 200.
 * For example:
 * BinArray index: 0 contains bin 0 <-> 599
 * index: 2 contains bin 600 <-> 1199, ...
 */
export declare class BinArray {
    readonly index: BN;
    /** Version of binArray */
    readonly version: number;
    readonly padding: Array<number>;
    readonly lbPair: PublicKey;
    readonly bins: Array<types.Bin>;
    static readonly discriminator: Buffer<ArrayBuffer>;
    static readonly layout: any;
    constructor(fields: BinArrayFields);
    static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<BinArray | null>;
    static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<BinArray | null>>;
    static decode(data: Buffer): BinArray;
    toJSON(): BinArrayJSON;
    static fromJSON(obj: BinArrayJSON): BinArray;
}
//# sourceMappingURL=BinArray.d.ts.map