import { LogLevel } from './EngineEvents'; export declare interface IConfigurator { /** * Retrieves the configs registered under the given key. * * @param key The key of the configs to get. */ get(key: string): TValue; } export declare type EngineConfiguration = { application?: ApplicationConfig; extensions?: ExtensionsConfig; httpServer?: HttpServerConfig; httpClient?: HttpClientConfig; iam: IAMConfiguration; database: DatabaseConfig; runtimeExpressions?: RuntimeExpressionConfig; logging?: LoggingConfiguration; tls?: TlsConfig; extraInfo?: any; }; export declare type ApplicationConfig = { name: string; id: string; touchFileOnReady?: string; defaultResponseLimit?: number; }; export declare type ExtensionsConfig = { include?: string[]; exclude?: string[]; }; export declare type RuntimeExpressionConfig = { disableTimeout?: boolean; timeoutInMiliseconds?: number; workerPoolSize?: number; }; export declare type DatabaseConfig = { username?: string; password?: string; database?: string; storage?: string; host?: string; port?: number; ssl?: boolean; dialect?: string; dialectOptions?: any; supportBigNumbers?: boolean; resetPasswordRequestTimeToLive?: number; logging?: boolean; schema?: string; pool?: PoolConfig; retry?: { maxDuration?: string; }; compressProcessTokens?: boolean; }; export declare type PoolConfig = { /** * Maximum number of connections in the connection pool. Default is 5. The connections will be split among all the engine workers. * For a more accurate division, use worker specific pool settings. * Note that "max" and the worker-specific settings are mutually exclusive. You can only use one OR the other. */ max?: number; /** * Maximum number of connections in the connection pool for ExternalTasks. * Must be used in conjunction with maxForQueryRequests and maxForProcessExecution. * * Note that "max" and the worker-specific settings are mutually exclusive. You can only use one OR the other. */ maxForExternalTasks?: number; /** * Maximum number of connections in the connection pool for Query requests. * Must be used in conjunction with maxForExternalTasks and maxForProcessExecution. * * Note that "max" and the worker-specific settings are mutually exclusive. You can only use one OR the other. */ maxForQueryRequests?: number; /** * Maximum number of connections in the connection pool for Process execution. * Must be used in conjunction with maxForExternalTasks and maxForQueryRequests. * * Note that "max" and the worker-specific settings are mutually exclusive. You can only use one OR the other. */ maxForProcessExecution?: number; }; export declare type HttpClientConfig = { allowUnauthorizedCertificates: boolean; }; export declare type HttpServerConfig = { port?: number; host?: string; allowedCorsOrigins?: string[]; }; export declare type IAMConfiguration = { baseUrl: string; internalUrl?: string; allowAnonymousRootAccess?: boolean; rootAccessToken?: string; }; export declare type LoggingConfiguration = { minLogLevel: LogLevel; }; export declare type TlsConfig = { useWindowsTrustStore: boolean; };