import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
export interface WhirlpoolsConfigExtensionFields {
    whirlpoolsConfig: Address;
    configExtensionAuthority: Address;
    tokenBadgeAuthority: Address;
}
export interface WhirlpoolsConfigExtensionJSON {
    whirlpoolsConfig: string;
    configExtensionAuthority: string;
    tokenBadgeAuthority: string;
}
export declare class WhirlpoolsConfigExtension {
    readonly whirlpoolsConfig: Address;
    readonly configExtensionAuthority: Address;
    readonly tokenBadgeAuthority: Address;
    static readonly discriminator: Buffer<ArrayBuffer>;
    static readonly layout: import("buffer-layout").Layout<WhirlpoolsConfigExtension>;
    constructor(fields: WhirlpoolsConfigExtensionFields);
    static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<WhirlpoolsConfigExtension | null>;
    static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<WhirlpoolsConfigExtension | null>>;
    static decode(data: Buffer): WhirlpoolsConfigExtension;
    toJSON(): WhirlpoolsConfigExtensionJSON;
    static fromJSON(obj: WhirlpoolsConfigExtensionJSON): WhirlpoolsConfigExtension;
}
//# sourceMappingURL=WhirlpoolsConfigExtension.d.ts.map