import { State } from '../shared/State';
import { AmConfigEntityInterface, IdObjectSkeletonInterface, PagedResult } from './ApiTypes';
export type ScriptTypeSkeleton = AmConfigEntityInterface & {
    defaultScript: string;
    languages: string[];
};
export type EngineConfigurationSkeleton = AmConfigEntityInterface & {
    blackList: string[];
    coreThreads: number;
    idleTimeout: number;
    maxThreads: number;
    propertyNamePrefix: string;
    queueSize: number;
    serverTimeout: number;
    useSecurityManager: boolean;
    whiteList: string[];
};
export type ScriptingContextSkeleton = IdObjectSkeletonInterface & {
    allowLists: Record<string, string[]>;
    evaluatorVersions: Record<string, string[]>;
};
/**
 * Get scriptType
 * @param {string} scriptTypeId scriptType id
 * @returns {Promise<ScriptTypeSkeleton>} a promise that resolves to a scriptType object
 */
export declare function getScriptType({ scriptTypeId, state, }: {
    scriptTypeId: string;
    state: State;
}): Promise<ScriptTypeSkeleton>;
/**
 * Get all scriptTypes
 * @returns {Promise<PagedResult<ScriptTypeSkeleton[]>>} a promise that resolves to an array of scriptType objects
 */
export declare function getScriptTypes({ state, }: {
    state: State;
}): Promise<PagedResult<ScriptTypeSkeleton>>;
/**
 * Get scripting engine configuration
 * @param {string} scriptTypeId Script type id
 * @returns {Promise<EngineConfigurationSkeleton>} a promise that resolves to an EngineConfigurationSkeleton object
 */
export declare function getScriptingEngineConfiguration({ scriptTypeId, state, }: {
    scriptTypeId: string;
    state: State;
}): Promise<EngineConfigurationSkeleton>;
/**
 * Get scripting contexts
 * @param {string} scriptTypeId Script type id
 * @returns {Promise<ScriptingContextSkeleton>} a promise that resolves to an ScriptingContextSkeleton object
 */
export declare function getScriptingContext({ scriptTypeId, state, }: {
    scriptTypeId: string;
    state: State;
}): Promise<ScriptingContextSkeleton>;
/**
 * Put script type
 * @param {string} scriptTypeId script type id
 * @param {ScriptTypeSkeleton} scriptTypeData script type config object
 * @returns {Promise<ScriptTypeSkeleton>} a promise that resolves to a script type object
 */
export declare function putScriptType({ scriptTypeId, scriptTypeData, state, }: {
    scriptTypeId: string;
    scriptTypeData: ScriptTypeSkeleton;
    state: State;
}): Promise<ScriptTypeSkeleton>;
/**
 * Put scripting engine configuration
 * @param {string} scriptTypeId script type id
 * @param {EngineConfigurationSkeleton} engineConfigurationData engine config object
 * @returns {Promise<EngineConfigurationSkeleton>} a promise that resolves to a script type object
 */
export declare function putScriptingEngineConfiguration({ scriptTypeId, engineConfigurationData, state, }: {
    scriptTypeId: string;
    engineConfigurationData: EngineConfigurationSkeleton;
    state: State;
}): Promise<EngineConfigurationSkeleton>;
//# sourceMappingURL=ScriptTypeApi.d.ts.map