import { Procedure } from "../../internal";
import { ClaimTarget } from "../../types";
import { ClaimOperation, Extrinsics, MapMaybePostTransactionValue, ProcedureAuthorization } from "../../types/internal";
interface AddClaimsParams {
    /**
     * array of claims to be added
     */
    claims: ClaimTarget[];
    operation: ClaimOperation.Add;
}
interface EditClaimsParams {
    /**
     * array of claims to be edited
     */
    claims: ClaimTarget[];
    operation: ClaimOperation.Edit;
}
interface RevokeClaimsParams {
    /**
     * array of claims to be revoked
     */
    claims: Omit<ClaimTarget, 'expiry'>[];
    operation: ClaimOperation.Revoke;
}
export declare type ModifyClaimsParams = AddClaimsParams | EditClaimsParams | RevokeClaimsParams;
/**
 * @hidden
 */
export declare function groupByDid([target]: MapMaybePostTransactionValue<Parameters<Extrinsics['identity']['revokeClaim']> | Parameters<Extrinsics['identity']['addClaim']>>): string;
/**
 * @hidden
 */
export declare function prepareModifyClaims(this: Procedure<ModifyClaimsParams, void>, args: ModifyClaimsParams): Promise<void>;
/**
 * @hidden
 */
export declare function getAuthorization({ claims, operation, }: ModifyClaimsParams): ProcedureAuthorization;
/**
 * @hidden
 */
export declare const modifyClaims: () => Procedure<ModifyClaimsParams, void>;
export {};
//# sourceMappingURL=modifyClaims.d.ts.map