import { EnvironmentModuleEntryPointType } from '../../../manifest/environment-modules'; /** * The condition to search to further narrowing done. */ export interface ExtensionSearchCondition { /** * The solution ID. */ targetSolutionId: string; /** * The communication target names. */ targetNames: string[]; /** * The connections. */ targetConnections: { /** * The identity of connection. */ id: string; /** * The type of connection. */ type: string; /** * The name of connection. */ name: string; }[]; /** * Validate with the requirements on manifest. */ validationRequired: boolean; } /** * The extension search options. */ export interface ExtensionSearchOptions { /** * The id of the extension entry point to find an instance of. */ entryPointId?: string; /** * The id of the extension instance to find. If provided, takes priority over entryPointId */ instanceId?: string; /** * indicates if the extension should be instantiated if it was not found */ createIfNotFound?: boolean; /** * The type of extension to search for. Currently only worker is supported. */ extensionTypes?: EnvironmentModuleEntryPointType[]; /** * The condition of extension to search. */ condition?: ExtensionSearchCondition; }