import { type ScriptSkeleton } from '../api/ScriptApi'; import { type ExportMetaData } from '../ops/OpsTypes'; import { State } from '../shared/State'; export type Script = { /** * Create an empty script export template * @returns {ScriptExportInterface} an empty script export template */ createScriptExportTemplate(): ScriptExportInterface; /** * Read all scripts * @returns {Promise} a promise that resolves to an array of script objects */ readScripts(): Promise; /** * Get the names of library scripts required by the input script object * * @param {ScriptSkeleton} scriptObj the script object * @returns an array of required library script names */ getLibraryScriptNames(scriptObj: ScriptSkeleton): string[]; /** * Read script * @param {string} scriptId script id * @returns {Promise} promise that resolves to a script object */ readScript(scriptId: string): Promise; /** * Read script by name * @param {string} scriptName name of the script * @returns {Promise} promise that resolves to a script object */ readScriptByName(scriptName: string): Promise; /** * Create script * @param {string} scriptId script id * @param {string} scriptName name of the script * @param {ScriptSkeleton} scriptData script object * @returns {Promise} a status object */ createScript(scriptId: string, scriptName: string, scriptData: ScriptSkeleton): Promise; /** * Create or update script * @param {string} scriptId script id * @param {ScriptSkeleton} scriptData script object * @returns {Promise} a status object */ updateScript(scriptId: string, scriptData: ScriptSkeleton): Promise; /** * Delete script * @param {string} scriptId script id * @returns {Promise} promise that resolves to a script object */ deleteScript(scriptId: string): Promise; /** * Delete script by name * @param {String} scriptName script name * @returns {Promise} a promise that resolves to a script object */ deleteScriptByName(scriptName: string): Promise; /** * Delete all non-default scripts * @returns {Promise>} a promise that resolves to an array of script objects */ deleteScripts(): Promise; /** * Export all scripts * @param {ScriptExportOptions} options script export options * @returns {Promise} a promise that resolved to a ScriptExportInterface object */ exportScripts(options?: ScriptExportOptions): Promise; /** * Export script by id * @param {string} scriptId script uuid * @param {ScriptExportOptions} options script export options * @returns {Promise} a promise that resolved to a ScriptExportInterface object */ exportScript(scriptId: string, options?: ScriptExportOptions): Promise; /** * Export script by name * @param {string} scriptName script name * @param {ScriptExportOptions} options script export options * @returns {Promise} a promise that resolved to a ScriptExportInterface object */ exportScriptByName(scriptName: string, options?: ScriptExportOptions): Promise; /** * Import scripts * @param {string} scriptId Optional id of script. If supplied, only the script of that id is imported. Takes priority over scriptName if both are provided. * @param {string} scriptName Optional name of script. If supplied, only the script of that name is imported * @param {ScriptExportInterface} importData Script import data * @param {ScriptImportOptions} options Script import options * @param {boolean} validate If true, validates Javascript scripts to ensure no errors exist in them. Default: false * @returns {Promise} the imported scripts */ importScripts(scriptId: string, scriptName: string, importData: ScriptExportInterface, options?: ScriptImportOptions, validate?: boolean): Promise; /** * Get all scripts * @returns {Promise} a promise that resolves to an array of script objects * @deprecated since v2.0.0 use {@link Script.readScripts | readScripts} instead * ```javascript * readScripts(): Promise * ``` * @group Deprecated */ getScripts(): Promise; /** * Get script * @param {string} scriptId script id * @returns {Promise} promise that resolves to a script object * @deprecated since v2.0.0 use {@link Script.readScript | readScript} instead * ```javascript * readScript(scriptName: string): Promise * ``` * @group Deprecated */ getScript(scriptId: string): Promise; /** * Get script by name * @param {string} scriptName name of the script * @returns {Promise} promise that resolves to a script object * @deprecated since v2.0.0 use {@link Script.readScriptByName | readScriptByName} instead * ```javascript * readScriptByName(scriptName: string): Promise * ``` * @group Deprecated */ getScriptByName(scriptName: string): Promise; /** * Create or update script * @param {string} scriptId script uuid * @param {ScriptSkeleton} scriptData script object * @returns {Promise} a status object * @deprecated since v2.0.0 use {@link Script.updateScript | updateScript} or {@link Script.createScript | createScript} instead * ```javascript * updateScript(scriptId: string, scriptData: ScriptSkeleton): Promise * createScript(scriptId: string, scriptName: string, scriptData: ScriptSkeleton): Promise * ``` * @group Deprecated */ putScript(scriptId: string, scriptData: ScriptSkeleton): Promise; }; declare const _default: (state: State) => Script; export default _default; export interface ScriptExportInterface { meta?: ExportMetaData; script: Record; } /** * Script import options */ export interface ScriptImportOptions { /** * Include dependency (library) scripts in export */ deps: boolean; /** * Generate new UUIDs for all scripts during import. */ reUuid: boolean; /** * Include default scripts in import if true */ includeDefault: boolean; } /** * Script export options */ export interface ScriptExportOptions { /** * Include dependency (library) scripts in export */ deps: boolean; /** * Include default scripts in export if true */ includeDefault: boolean; /** * Use string arrays to store script code */ useStringArrays: boolean; } /** * Create an empty script export template * @returns {ScriptExportInterface} an empty script export template */ export declare function createScriptExportTemplate({ state, }: { state: State; }): ScriptExportInterface; /** * Get all scripts * @returns {Promise} a promise that resolves to an array of script objects */ export declare function readScripts({ state, }: { state: State; }): Promise; /** * Get the names of library scripts required by the input script object * * @param {ScriptSkeleton} scriptObj the script object * @returns {string[]} an array of required library script names */ export declare function getLibraryScriptNames(scriptObj: ScriptSkeleton): string[]; /** * Gets all library scripts for a given script recursively * * @param {ScriptSkeleton} scriptData the script object * @returns {ScriptSkeleton[]} all the library scripts needed for the given script */ export declare function getLibraryScripts({ scriptData, state, }: { scriptData: ScriptSkeleton; state: State; }): Promise; /** * Get script * * @param {string} scriptId the script id * @returns {Promise} a promise that resolves to an array of script objects */ export declare function readScript({ scriptId, state, }: { scriptId: string; state: State; }): Promise; /** * Get script by name * @param {string} scriptName name of the script * @returns {Promise} promise that resolves to a script object */ export declare function readScriptByName({ scriptName, state, }: { scriptName: string; state: State; }): Promise; /** * Create script * @param {string} scriptId the script id * @param {string} scriptName the script name * @param {ScriptSkeleton} scriptData script object * @returns {Promise} a promise resolving to a script object */ export declare function createScript({ scriptId, scriptName, scriptData, state, }: { scriptId: string; scriptName: string; scriptData: ScriptSkeleton; state: State; }): Promise; /** * Create or update script * @param {string} scriptId script uuid * @param {ScriptSkeleton} scriptData script object * @returns {Promise} a status object */ export declare function updateScript({ scriptId, scriptData, state, }: { scriptId: string; scriptData: ScriptSkeleton; state: State; }): Promise; /** * Delete script * @param {string} scriptId script uuid * @returns {Promise} a promise resolving to a script object */ export declare function deleteScript({ scriptId, state, }: { scriptId: string; state: State; }): Promise; /** * Delete script by name * @param {String} scriptName script name * @returns {Promise} a promise that resolves to a script object */ export declare function deleteScriptByName({ scriptName, state, }: { scriptName: string; state: State; }): Promise; /** * Delete all non-default scripts * @returns {Promise>} a promise that resolves to an array of script objects */ export declare function deleteScripts({ state, }: { state: State; }): Promise; /** * Export script by id * * @param {string} scriptId script uuid * @param {ScriptExportOptions} options script export options * @returns {Promise} a promise that resolved to a ScriptExportInterface object */ export declare function exportScript({ scriptId, options, state, }: { scriptId: string; options?: ScriptExportOptions; state: State; }): Promise; /** * Export script by name * * @param {string} scriptName script name * @param {ScriptExportOptions} options script export options * @returns {Promise} a promise that resolved to a ScriptExportInterface object */ export declare function exportScriptByName({ scriptName, options, state, }: { scriptName: string; options?: ScriptExportOptions; state: State; }): Promise; /** * Export all scripts * * @param {ScriptExportOptions} options script export options * @returns {Promise} a promise that resolved to a ScriptExportInterface object */ export declare function exportScripts({ options, state, }: { options?: ScriptExportOptions; state: State; }): Promise; /** * Import scripts * @param {object} params Params object. * @param {string} params.scriptId Optional id of script. If supplied, only the script of that id is imported. Takes priority over scriptName if both are provided. * @param {string} params.scriptName Optional name of script. If supplied, only the script of that name is imported * @param {ScriptExportInterface} params.importData Script import data * @param {ScriptImportOptions} params.options Script import options * @param {boolean} params.validate If true, validates Javascript scripts to ensure no errors exist in them. Default: false * @returns {Promise} the imported scripts */ export declare function importScripts({ scriptId, scriptName, importData, options, validate, state, }: { scriptId?: string; scriptName?: string; importData: ScriptExportInterface; options?: ScriptImportOptions; validate?: boolean; state: State; }): Promise; //# sourceMappingURL=ScriptOps.d.ts.map