import BigNumber from 'bignumber.js'; import { Asset, Context, CustomPermissionGroup, Identity, KnownPermissionGroup, Namespace, SetPermissionGroupParams, WaivePermissionsParams } from "../../../internal"; import { EventIdEnum as EventId, ModuleIdEnum as ModuleId } from "../../../middleware/types"; import { AssetWithGroup, CheckPermissionsResult, EventIdentifier, ProcedureMethod, ResultSet, SignerType, TxTag } from "../../../types"; /** * Handles all Asset Permissions (External Agents) related functionality on the Identity side */ export declare class AssetPermissions extends Namespace { /** * @hidden */ constructor(parent: Identity, context: Context); /** * Retrieve all the Assets over which this Identity has permissions, with the corresponding Permission Group */ get(): Promise; /** * Check whether this Identity has specific transaction Permissions over an Asset */ checkPermissions(args: { asset: Asset | string; transactions: TxTag[] | null; }): Promise>; /** * Check whether this Identity has specific transaction Permissions over an Asset * * @deprecated in favor of `checkPermissions` */ hasPermissions(args: { asset: Asset | string; transactions: TxTag[] | null; }): Promise; /** * Retrieve this Identity's Permission Group for a specific Asset */ getGroup({ asset, }: { asset: string | Asset; }): Promise; /** * Retrieve the identifier data (block number, date and event index) of the event that was emitted when this Identity was enabled/added as * an Agent with permissions over a specific Asset * * @note uses the middleware * @note there is a possibility that the data is not ready by the time it is requested. In that case, `null` is returned */ enabledAt({ asset }: { asset: string | Asset; }): Promise; /** * Abdicate from the current Permissions Group for a given Asset. This means that this Identity will no longer have any permissions over said Asset */ waive: ProcedureMethod; /** * Assign this Identity to a different Permission Group for a given Asset */ setGroup: ProcedureMethod; /** * Retrieve all Events triggered by Operations this Identity has performed on a specific Asset * * @param opts.moduleId - filters results by module * @param opts.eventId - filters results by event * @param opts.size - page size * @param opts.start - page offset * * @note uses the middleware * @note supports pagination */ getOperationHistory(opts: { asset: string | Asset; moduleId?: ModuleId; eventId?: EventId; size?: BigNumber; start?: BigNumber; }): Promise>; } //# sourceMappingURL=AssetPermissions.d.ts.map