/** Core */ import { Framework } from "cmf.core/src/core"; import Cmf from "cmf.lbos"; /** * All these settings represent properties that the consumer component can define and which can be important for the service to handle * The service itself already has its own settings by default, but they can be augmented or overridden at runtime */ export interface ServiceConfiguration { dataTextField: string; querySearchableFieldName: string; additionalFields: Array; additionalFilters: Array; staticDataSource: Array; supportTokens?: boolean; } export interface StaticServiceDef { staticTypeName: string; referenceType: Cmf.Foundation.Common.ReferenceType; defaultPrimaryField?: string; defaultSecondaryField?: string; dataTextField?: string; querySearchableFieldName?: string; additionalFields?: Array; additionalFilters?: Array; init: (framework: Framework, config: ServiceConfiguration) => void; loadData: (searchTerm: string) => Promise; handleDataOutput?: (dataToHandle: any) => Promise; }