import Decimal from "decimal.js"; export interface ExecutionAnalysis { feeLocks: FeeLocks; feeSummary: FeeSummary; transactionTypes: TransactionType[]; reservedInstructions: ReservedInstruction[]; } export type TransactionType = { kind: "SimpleTransfer"; from: string; to: string; transferred: ResourceSpecifier; } | { kind: "Transfer"; from: string; transfers: Record>; } | { kind: "AccountDepositSettings"; resourcePreferenceChanges: Record>; defaultDepositRuleChanges: Record; authorizedDepositorsChanges: Record; } | { kind: "GeneralTransaction"; accountProofs: string[]; accountWithdraws: Record; accountDeposits: Record; addressesInManifest: Record>; dataOfNewlyMintedNonFungibles: Record>; }; export type ResourceSpecifier = { kind: "Amount"; resourceAddress: string; amount: Decimal; } | { kind: "Ids"; resourceAddress: string; ids: string[]; }; export type Resources = { kind: "Amount"; amount: Decimal; } | { kind: "Ids"; nonFungibleLocalId: string[]; }; export declare enum ResourcePreference { Allowed = "Allowed", Disallowed = "Disallowed" } export type ResourcePreferenceAction = { kind: "Set"; value: ResourcePreference; } | { kind: "Remove"; }; export declare enum DefaultDepositRule { Accept = "Accept", Reject = "Reject", AllowExisting = "AllowExisting" } export interface AuthorizedDepositorsChanges { added: ResourceOrNonFungible[]; removed: ResourceOrNonFungible[]; } export type ResourceOrNonFungible = { kind: "NonFungible"; nonFungibleGlobalId: string; } | { kind: "Resource"; resourceAddress: string; }; export type ResourceTracker = { kind: "Fungible"; resourceAddress: string; amount: Source; } | { kind: "NonFungible"; resourceAddress: string; amount: Source; ids: Source; }; export type Source = { kind: "Guaranteed"; value: T; } | { kind: "Predicted"; value: T; instructionIndex: number; }; export type DecimalSource = Source; export type NonFungibleLocalIdArraySource = Source; export interface FeeLocks { lock: Decimal; contingentLock: Decimal; } export interface FeeSummary { executionCost: Decimal; finalizationCost: Decimal; storageExpansionCost: Decimal; royaltyCost: Decimal; } export declare enum ReservedInstruction { AccountLockFee = "AccountLockFee", AccountSecurify = "AccountSecurify", IdentitySecurify = "IdentitySecurify", AccountUpdateSettings = "AccountUpdateSettings", AccessController = "AccessController" }