import { ObjectSelection, ObjectFieldMap, JSONForm, Element } from "./Inputs"; /** The type of field that is appropriate for rendering the data that is the result of the data source perform function. */ type DataSourceTypeMap = { string: string; date: string; timestamp: string; picklist: string[] | Element[]; schedule: { value: string; }; code: string; boolean: boolean; number: number; objectSelection: ObjectSelection; objectFieldMap: ObjectFieldMap; jsonForm: JSONForm; }; export type DataSourceType = keyof DataSourceTypeMap; export type CollectionDataSourceType = Exclude; export type DataSourceResultType = DataSourceTypeMap[DataSourceType]; /** Represents the result of a Data Source action. */ export type DataSourceResult = { /** The resulting data that is returned from the data source. */ result: DataSourceTypeMap[TDataSourceType]; /** Additional data that may be useful for out-of-band processing at a later time. * NOTE: This is only available when the Data Source is called as part of fetching * contents for a Configuration Wizard Page. */ supplementalData?: { data: unknown; contentType: string; }; }; export {};