libmodulor
Version:
A TypeScript library to create platform-agnostic applications
25 lines (24 loc) • 1.31 kB
TypeScript
import { type Factory } from 'inversify';
import type { ProductManifest } from '../../product/index.js';
import type { Configurable, SettingsManager, Worker } from '../../std/index.js';
import type { UCDefLifecycle } from '../def.js';
import type { UCInput } from '../input.js';
import type { UCOPIBase } from '../opi.js';
import type { UCPolicy, UCPolicyOutput } from '../policy.js';
import type { UCSettings } from '../settings.js';
import type { UC } from '../UC.js';
interface Input<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined> {
lifecycle: UCDefLifecycle;
uc: UC<I, OPI0, OPI1>;
}
type Output = UCPolicyOutput;
type S = Pick<UCSettings, 'uc_disabled_use_cases'>;
export declare class UCExecChecker implements Configurable<S>, Worker<Input, Promise<Output>> {
private productManifest;
private settingsManager;
private ucPolicyFactory;
constructor(productManifest: ProductManifest, settingsManager: SettingsManager<S>, ucPolicyFactory: Factory<UCPolicy>);
s(): S;
exec<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>({ lifecycle, uc }: Input<I, OPI0, OPI1>): Promise<Output>;
}
export {};