import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
import BN from "bn.js";
export interface ConfigurationFields {
    admin: Address;
    oracleMappings: Address;
    oraclePrices: Address;
    tokensMetadata: Address;
    oracleTwaps: Address;
    adminCached: Address;
    padding: Array<BN>;
}
export interface ConfigurationJSON {
    admin: string;
    oracleMappings: string;
    oraclePrices: string;
    tokensMetadata: string;
    oracleTwaps: string;
    adminCached: string;
    padding: Array<string>;
}
export declare class Configuration {
    readonly admin: Address;
    readonly oracleMappings: Address;
    readonly oraclePrices: Address;
    readonly tokensMetadata: Address;
    readonly oracleTwaps: Address;
    readonly adminCached: Address;
    readonly padding: Array<BN>;
    static readonly discriminator: Buffer<ArrayBuffer>;
    static readonly layout: import("buffer-layout").Layout<Configuration>;
    constructor(fields: ConfigurationFields);
    static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<Configuration | null>;
    static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<Configuration | null>>;
    static decode(data: Buffer): Configuration;
    toJSON(): ConfigurationJSON;
    static fromJSON(obj: ConfigurationJSON): Configuration;
}
//# sourceMappingURL=Configuration.d.ts.map