import { Service } from "./service"; import { EncodingMode, ServiceMetadata, ServiceCommon } from "./serviceMetadata"; import { Filter, ProviderSystem } from "./providerSystem"; import { Authentication } from "./authentication"; import { HeaderParameters } from "./types"; export interface ServiceRetriever { retrieveServices(systemName: string, systemUrl: string, credentials?: Authentication, filter?: Filter): Promise; retrieveMetadata(systemName: string, serviceUrl: string, encoding: EncodingMode, credentials?: Authentication): Promise; retrieveLiveData(systemName: string, serviceUrl: string, entityName: string, encoding: EncodingMode, filter?: Filter, credentials?: Authentication, headerParameters?: HeaderParameters): Promise; retrieveAnnotations(systemName: string, serviceId: string, credentials?: Authentication): Promise; retrieveDestinations?: (filter?: Filter) => Promise; retrieveServiceUiType?(systemName: string, service: Service, credentials?: Authentication): Promise; }