export interface StateInterface { name: string; description: string; owner: string; collaborators: string[]; items: string[]; invocations: string[]; foreignCalls: ForeignCallInterface[]; } export interface ActionInterface { input: any; caller: string; } export interface UpdateItemsInterface { function: "updateItems"; items: string[]; } export interface UpdateDetailsInterface { function: "updateDetails"; name: string; description: string; } export interface UpdateCollaboratorsInterface { function: "updateCollaborators"; collaborators: string[]; } export interface InvokeInterface { function: "invoke"; foreignContract: string; invocation: InvocationInterface; } export interface ReadOutboxInterface { function: "readOutbox"; contract: string; id: string; } export interface ForeignCallInterface { txID: string; contract: string; input: InvocationInterface; } export interface InvocationInterface { function: string; [key: string | number]: any; }