12 lines
345 B
TypeScript
12 lines
345 B
TypeScript
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
export interface IntegrationFactory<T = any> {
|
|
name: string;
|
|
context: T;
|
|
isAvailable: (context: T) => Promise<boolean> | boolean;
|
|
onConfigChange?: (context: T) => Promise<void> | void;
|
|
}
|
|
|
|
export function createIntegration<T>(options: IntegrationFactory<T>) {
|
|
return options;
|
|
}
|