interface Handler { (...args: any[]): Promise; } interface Execution { /** Returns all stdout/stderr output written by the action via console. */ getLogs(): string; } /** An actions: module to register up front, so the action can require('actions:'). */ interface ModuleRegistration { name: string; filename: string; secrets?: Record; } interface LoadedAction> { /** Invokes the loaded action's export named `entrypoint`, e.g. `action.execute('onExecutePostLogin', event, api)`. */ execute( entrypoint: K, ...args: Parameters ): Promise; } export type { LoadedAction as L, ModuleRegistration as M };