/// <reference types="node" />
import { PublicKey, Connection } from "@solana/web3.js";
import BN from "bn.js";
export interface GlobalConfigFields {
    globalAdmin: PublicKey;
    treasuryFeeBps: BN;
    treasuryVaultsAuthority: PublicKey;
    treasuryVaultsAuthorityBump: BN;
    pendingGlobalAdmin: PublicKey;
    padding1: Array<BN>;
}
export interface GlobalConfigJSON {
    globalAdmin: string;
    treasuryFeeBps: string;
    treasuryVaultsAuthority: string;
    treasuryVaultsAuthorityBump: string;
    pendingGlobalAdmin: string;
    padding1: Array<string>;
}
export declare class GlobalConfig {
    readonly globalAdmin: PublicKey;
    readonly treasuryFeeBps: BN;
    readonly treasuryVaultsAuthority: PublicKey;
    readonly treasuryVaultsAuthorityBump: BN;
    readonly pendingGlobalAdmin: PublicKey;
    readonly padding1: Array<BN>;
    static readonly discriminator: Buffer;
    static readonly layout: any;
    constructor(fields: GlobalConfigFields);
    static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<GlobalConfig | null>;
    static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<GlobalConfig | null>>;
    static decode(data: Buffer): GlobalConfig;
    toJSON(): GlobalConfigJSON;
    static fromJSON(obj: GlobalConfigJSON): GlobalConfig;
}
