import type { RemoveScript, RunScript, Script, Tutorial } from './response.js'; import type { ScriptsReturnType } from './response.js'; import type { MDSResponse } from '../../types.js'; import type { NewScriptParams, RemoveScriptParams, RunScriptParams, ScriptsParams } from './params.js'; /** * Scripts function types */ type ScriptsCallback = (data: ScriptsReturnType) => void; export type ScriptsFunc = (...args: T extends undefined ? [ScriptsCallback?] : T extends { params: ScriptsParams; } ? [{ params: ScriptsParams; }, ScriptsCallback?] : [T, ScriptsCallback?]) => Promise>; /** * Tutorial function types */ export type TutorialFunc = (callback?: (data: MDSResponse) => void) => Promise>; /** * New script function types */ export type NewScriptFunc = (args: { params: NewScriptParams; }, callback?: (data: MDSResponse