/// <reference types="node" />
import { PublicKey, Connection } from '@solana/web3.js';
export interface WhirlpoolsConfigFields {
    feeAuthority: PublicKey;
    collectProtocolFeesAuthority: PublicKey;
    rewardEmissionsSuperAuthority: PublicKey;
    defaultProtocolFeeRate: number;
}
export interface WhirlpoolsConfigJSON {
    feeAuthority: string;
    collectProtocolFeesAuthority: string;
    rewardEmissionsSuperAuthority: string;
    defaultProtocolFeeRate: number;
}
export declare class WhirlpoolsConfig {
    readonly feeAuthority: PublicKey;
    readonly collectProtocolFeesAuthority: PublicKey;
    readonly rewardEmissionsSuperAuthority: PublicKey;
    readonly defaultProtocolFeeRate: number;
    static readonly discriminator: Buffer;
    static readonly layout: any;
    constructor(fields: WhirlpoolsConfigFields);
    static fetch(c: Connection, address: PublicKey): Promise<WhirlpoolsConfig | null>;
    static fetchMultiple(c: Connection, addresses: PublicKey[]): Promise<Array<WhirlpoolsConfig | null>>;
    static decode(data: Buffer): WhirlpoolsConfig;
    toJSON(): WhirlpoolsConfigJSON;
    static fromJSON(obj: WhirlpoolsConfigJSON): WhirlpoolsConfig;
}
