import BigNumber from 'bignumber.js'; import { Context, Entity, Identity } from "../../internal"; import { Authorization, NoArgsProcedureMethod, Signer, SignerValue } from "../../types"; import { HumanReadableType } from "../../types/utils"; export interface UniqueIdentifiers { authId: BigNumber; } interface HumanReadable { issuer: HumanReadableType; expiry: string | null; target: SignerValue; data: HumanReadableType; id: string; } export interface Params { target: Signer; issuer: Identity; expiry: Date | null; data: Authorization; } /** * Represents a request made by an Identity to another Identity (or Account) for some sort of authorization. This has multiple uses. For example, if Alice * wants to transfer ownership of one of her Assets to Bob, this method emits an authorization request for Bob, * who then has to accept it in order to complete the ownership transfer */ export declare class AuthorizationRequest extends Entity { /** * @hidden * Check if a value is of type {@link UniqueIdentifiers} */ static isUniqueIdentifiers(identifier: unknown): identifier is UniqueIdentifiers; /** * Identity or Account to which the request was emitted */ target: Signer; /** * Identity that emitted the request */ issuer: Identity; /** * Authorization Request data corresponding to type of Authorization * * | Type | Data | * |---------------------------------|---------------------------------| * | Add Relayer Paying Key | Beneficiary, Relayer, Allowance | * | Become Agent | Permission Group | * | Attest Primary Key Rotation | DID | * | Rotate Primary Key | N/A | * | Rotate Primary Key to Secondary | Permissions | * | Transfer Ticker | Ticker | * | Add MultiSig Signer | Account | * | Transfer Asset Ownership | Ticker | * | Join Identity | Permissions | * | Portfolio Custody | Portfolio | */ data: Authorization; /** * date at which the Authorization Request expires and can no longer be accepted. * At this point, a new Authorization Request must be emitted. Null if the Request never expires */ expiry: Date | null; /** * internal identifier for the Request (used to accept/reject/cancel) */ authId: BigNumber; /** * @hidden */ constructor(args: UniqueIdentifiers & Params, context: Context); /** * Accept the Authorization Request. You must be the target of the Request to be able to accept it */ accept: NoArgsProcedureMethod; /** * Remove the Authorization Request * * - If you are the Request issuer, this will cancel the Authorization * - If you are the Request target, this will reject the Authorization */ remove: NoArgsProcedureMethod; /** * Returns whether the Authorization Request has expired */ isExpired(): boolean; /** * Determine whether this Authorization Request exists on chain */ exists(): Promise; /** * Return the Authorization's static data */ toJson(): HumanReadable; } export {}; //# sourceMappingURL=AuthorizationRequest.d.ts.map