import { ContractId } from "@hiero-ledger/sdk";
import EvmAddress from "../../../../domain/context/contract/EvmAddress";
import TransactionResponse from "../../../../domain/context/transaction/TransactionResponse";
import { SecurityRole } from "../../../../domain/context/security/SecurityRole";
import { TransactionExecutor } from "../TransactionExecutor";
export declare class RoleOperations {
    private readonly executor;
    constructor(executor: TransactionExecutor);
    grantRole(security: EvmAddress, targetId: EvmAddress, role: SecurityRole, securityId: ContractId | string): Promise<TransactionResponse>;
    applyRoles(security: EvmAddress, targetId: EvmAddress, roles: SecurityRole[], actives: boolean[], securityId: ContractId | string): Promise<TransactionResponse>;
    revokeRole(security: EvmAddress, targetId: EvmAddress, role: SecurityRole, securityId: ContractId | string): Promise<TransactionResponse>;
    renounceRole(security: EvmAddress, role: SecurityRole, securityId: ContractId | string): Promise<TransactionResponse>;
    authorizeOperator(security: EvmAddress, targetId: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    revokeOperator(security: EvmAddress, targetId: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    authorizeOperatorByPartition(security: EvmAddress, targetId: EvmAddress, partitionId: string, securityId: ContractId | string): Promise<TransactionResponse>;
    revokeOperatorByPartition(security: EvmAddress, targetId: EvmAddress, partitionId: string, securityId: ContractId | string): Promise<TransactionResponse>;
}
