import type { UsersApi, Configuration } from '../../api/generated/default';
import type { AuthService, EntityManagerService } from '../../services';
import { ApproveGrantRequest, AddManagerRequest, RejectGrantRequest, CreateGrantRequest, RevokeGrantRequest } from './types';
export declare class GrantsApi {
    private readonly entityManager;
    private readonly auth;
    private readonly usersApi;
    constructor(_config: Configuration, entityManager: EntityManagerService, auth: AuthService, usersApi: UsersApi);
    /**
     * When user authorizes app to perform actions on their behalf.
     * For user-to-user grants, use `addManager`.
     */
    createGrant(params: CreateGrantRequest): Promise<Pick<import("web3-core").TransactionReceipt, "blockHash" | "blockNumber">>;
    /**
     * When user authorizes another user to perform actions on their behalf.
     * The grant has to be approved by the proposed manager.
     */
    addManager(params: AddManagerRequest): Promise<Pick<import("web3-core").TransactionReceipt, "blockHash" | "blockNumber">>;
    /**
     * When user revokes an app's authorization to perform actions on their behalf
     */
    revokeGrant(params: RevokeGrantRequest): Promise<Pick<import("web3-core").TransactionReceipt, "blockHash" | "blockNumber">>;
    /**
     * Approve manager request
     */
    approveGrant(params: ApproveGrantRequest): Promise<Pick<import("web3-core").TransactionReceipt, "blockHash" | "blockNumber">>;
    /**
     * Reject manager request
     */
    rejectGrant(params: RejectGrantRequest): Promise<Pick<import("web3-core").TransactionReceipt, "blockHash" | "blockNumber">>;
}
