import type { CollectionType } from "./ConfigVars"; import type { DataSourceType } from "./DataSourceResult"; import type { InputFieldType } from "./Inputs"; export interface ComponentManifest { key: string; public: boolean; signature: string | null; actions: Record; triggers: Record; dataSources: Record; connections: Record; } interface BaseInput { inputType: InputFieldType; collection?: CollectionType | undefined; required?: boolean; default?: unknown; } export interface ComponentManifestAction { key?: string; perform: (values: any) => Promise; inputs: Record; examplePayload?: unknown; } export interface ComponentManifestTrigger { key?: string; perform: (values: any) => Promise; inputs: Record; } export interface ComponentManifestDataSource { key?: string; perform: (values: any) => Promise; dataSourceType: DataSourceType; inputs: Record; } export interface ComponentManifestConnection { key?: string; perform: (values: any) => Promise; onPremAvailable?: boolean; inputs: Record; } export {};