import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
import BN from "bn.js";
export interface ReferrerTokenStateFields {
    referrer: Address;
    mint: Address;
    amountUnclaimedSf: BN;
    amountCumulativeSf: BN;
    bump: BN;
    padding: Array<BN>;
}
export interface ReferrerTokenStateJSON {
    referrer: string;
    mint: string;
    amountUnclaimedSf: string;
    amountCumulativeSf: string;
    bump: string;
    padding: Array<string>;
}
export declare class ReferrerTokenState {
    readonly referrer: Address;
    readonly mint: Address;
    readonly amountUnclaimedSf: BN;
    readonly amountCumulativeSf: BN;
    readonly bump: BN;
    readonly padding: Array<BN>;
    static readonly discriminator: Buffer<ArrayBuffer>;
    static readonly layout: import("buffer-layout").Layout<ReferrerTokenState>;
    constructor(fields: ReferrerTokenStateFields);
    static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<ReferrerTokenState | null>;
    static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<ReferrerTokenState | null>>;
    static decode(data: Buffer): ReferrerTokenState;
    toJSON(): ReferrerTokenStateJSON;
    static fromJSON(obj: ReferrerTokenStateJSON): ReferrerTokenState;
}
//# sourceMappingURL=ReferrerTokenState.d.ts.map