import type { Address } from "viem";
import type { UseEtherbasePermissionsProps } from "./types/etherbase";
export default function useEtherbasePermissions({ sourceAddress, }: UseEtherbasePermissionsProps): {
    grantRoles: (walletAddress: Address, roles: number[]) => Promise<void>;
    revokeIdentity: (walletAddress: Address) => Promise<void>;
    grantRole: (walletAddress: Address, role: number) => Promise<void>;
    revokeRole: (walletAddress: Address, role: number) => Promise<void>;
    deposit: (targetAddress: Address, amount: number) => Promise<void>;
    fetchPermissions: () => Promise<{
        walletAddress: string;
        roles: number[];
        isOwner: boolean;
        balance: bigint;
    }[]>;
    canGrantRoles: Record<number, boolean>;
};
