import type { ODataServiceInfo, Annotations, FilterOptions, ServiceType } from './base.js'; import { CatalogService } from './base.js'; /** * Structure representing a V2 service */ export interface ODataServiceV2Info { ID: string; Description: string; Title: string; MetadataUrl: string; ServiceUrl: string; TechnicalName: string; TechnicalServiceName: string; Version: string; TechnicalServiceVersion: number; ServiceType: ServiceType; } /** * OData V2 specific implmentation of SAP's catalog service */ export declare class V2CatalogService extends CatalogService { static readonly PATH = "/sap/opu/odata/IWFND/CATALOGSERVICE;v=2"; protected determineEntitySet(): Promise; /** * Returns the service path for the provided serivce URL. * * @param serviceUrl - service url (may be full service url or service path) * @param baseUrl - base url for the odata service * @returns - service path */ private getServicePath; /** * Map the V2 service information to a version independent structure. * * @param services v2 services information * @returns version independent information */ protected mapServices(services: ODataServiceV2Info[]): ODataServiceInfo[]; /** * Fetch all services from the backend. * * @returns version independent service information */ protected fetchServices(): Promise; /** * Find a specific service by title. * * @param filter filter options * @param filter.title filter by title * @param filter.path filter by path * @returns service information matching the given filter */ protected findService({ title, path }: FilterOptions): Promise; /** * Get service annotations for the service matching the given filter. * * @param filter filter options * @param filter.id filter by id * @param filter.title filter by title * @param filter.path filter by path * @returns service annotations */ protected getServiceAnnotations({ id, title, path }: FilterOptions): Promise; /** * Get all annotations available for the service matching one of the below filter options. * * @param filter filter options * @param filter.id filter by id * @param filter.title filter by title * @param filter.path filter by path * @returns annotations */ getAnnotations({ id, title, path }: FilterOptions): Promise; /** * Calls endpoint `ServiceTypeForHUBServices` to determine the service type. * * @param path service path * @returns service type */ getServiceType(path: string): Promise; } //# sourceMappingURL=v2-catalog-service.d.ts.map