import { Service } from "./service"; import { EncodingMode, ServiceMetadata, ServiceCommon } from "./serviceMetadata"; import { Authentication } from "./authentication"; import { Annotation } from "./annotation"; import { EventDetails, EventSpec } from "./event"; export declare enum DataType { UNKNOWN = 0, CATALOG = 1, SERVICE_EP = 2, SERVICE_EP_FULL_URL = 3, RfcSystem = 4, RfcFunction = 5, ApiHubProduct = 6, ApiHubPackage = 7, ApiHubService = 8, ApiHubEntDestination = 9, ApiHubEntProduct = 10, ApiHubEntService = 11, UclSystem = 12, UclPackage = 13, UclService = 14, UclEvent = 15, CATALOG_C4C = 16, ApiHubEventPackage = 17, ApiHubEvent = 18, SapBusinessOne = 19, ApiHubEntSapProduct = 20, ApiHubEntSapService = 21 } export declare enum ProxyType { UNKNOWN = 0, INTERNET = 1, ONPREMISE = 2 } export declare class Filter extends Map { constructor(filterValue: Map); append(key: string, value: string[]): Filter; } export interface BaseProviderSystem { name: string; url: string; dataType: DataType; authenticationType: string; proxyType: ProxyType; description?: string; } export interface EventProviderSystem extends BaseProviderSystem { getEventDetails(options?: Record): Promise; getEventSpec(eventId: string, credentials?: Authentication): Promise; } export interface ProviderSystem extends BaseProviderSystem { product?: string; getServices(options?: Record): Promise; getMetadata(service: Service, encoding: EncodingMode, options?: Record, relativeUrl?: string, credentials?: Authentication): Promise; getJsonLiveData(service: Service, relativeServiceUrl: string, entityName: string, options?: Record): Promise; getAnnotations(service: Service, options?: Record): Promise; getServiceUiType?(service: Service, options?: Record): Promise; }