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<ArrayBuffer>;
    static readonly layout: any;
    constructor(fields: WhirlpoolsConfigFields);
    static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<WhirlpoolsConfig | null>;
    static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<WhirlpoolsConfig | null>>;
    static decode(data: Buffer): WhirlpoolsConfig;
    toJSON(): WhirlpoolsConfigJSON;
    static fromJSON(obj: WhirlpoolsConfigJSON): WhirlpoolsConfig;
}
//# sourceMappingURL=WhirlpoolsConfig.d.ts.map