import BigNumber from 'bignumber.js'; import { Context, Entity } from "../../../internal"; import { NoArgsProcedureMethod, PaginationOptions, ResultSet } from "../../../types"; import { InstructionAffirmation, InstructionDetails, InstructionStatusResult, Leg } from './types'; export interface UniqueIdentifiers { id: BigNumber; } /** * Represents a settlement Instruction to be executed on a certain Venue */ export declare class Instruction extends Entity { /** * @hidden * Check if a value is of type {@link UniqueIdentifiers} */ static isUniqueIdentifiers(identifier: unknown): identifier is UniqueIdentifiers; /** * Identifier number of the venue */ id: BigNumber; /** * @hidden */ constructor(identifiers: UniqueIdentifiers, context: Context); /** * Retrieve whether the Instruction has already been executed and pruned from * the chain. */ isExecuted(): Promise; /** * Retrieve whether the Instruction is still pending on chain */ isPending(): Promise; /** * Determine whether this Instruction exists on chain (or existed and was pruned) */ exists(): Promise; /** * Retrieve information specific to this Instruction */ details(): Promise; /** * Retrieve every authorization generated by this Instruction (status and authorizing Identity) * * @note supports pagination */ getAffirmations(paginationOpts?: PaginationOptions): Promise>; /** * Retrieve all legs of this Instruction * * @note supports pagination */ getLegs(paginationOpts?: PaginationOptions): Promise>; /** * Retrieve current status of this Instruction * * @note uses the middleware */ getStatus(): Promise; /** * Reject this instruction * * @note reject on `SettleOnAffirmation` will execute the settlement and it will fail immediately. * @note reject on `SettleOnBlock` behaves just like unauthorize */ reject: NoArgsProcedureMethod; /** * Affirm this instruction (authorize) */ affirm: NoArgsProcedureMethod; /** * Withdraw affirmation from this instruction (unauthorize) */ withdraw: NoArgsProcedureMethod; /** * Reschedules a failed Instruction to be tried again * * @throws if the Instruction status is not `InstructionStatus.Failed` */ reschedule: NoArgsProcedureMethod; /** * @hidden * Retrieve Instruction status event from middleware */ private getInstructionEventFromMiddleware; /** * Return the Instruction's ID */ toJson(): string; } //# sourceMappingURL=index.d.ts.map