/** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { SerializationFactory, type PlainObject } from '@finos/legend-shared'; export declare enum ServiceOwnershipType { DEPLOYMENT_OWNERSHIP = "deploymentOwnership", USER_LIST_OWNERSHIP = "userListOwnership" } export declare abstract class ServiceOwnershipDetail { abstract readonly _type: ServiceOwnershipType; } export declare class UserListOwnershipDetail extends ServiceOwnershipDetail { readonly _type = ServiceOwnershipType.USER_LIST_OWNERSHIP; users: string[]; } export declare class DeploymentOwnershipDetail extends ServiceOwnershipDetail { readonly _type = ServiceOwnershipType.DEPLOYMENT_OWNERSHIP; identifier: string; } /** * Lightweight representation of a service returned by the * engine `/service/list/detailsFromCache` endpoint. * * Only the fields consumed by the marketplace UI are modelled here * to avoid coupling to the full protocol model. */ export declare class ServiceDetail { name: string; title: string | undefined; pattern: string; documentation: string; ownership: ServiceOwnershipDetail | undefined; private static readonly _schema; static readonly serialization: SerializationFactory; /** * Deserialize a plain JSON object into a ServiceDetail, normalizing * the legacy `owners: string[]` field into a `UserListOwnershipDetail` * when no structured `ownership` is present. */ static fromJson(json: PlainObject): ServiceDetail; } //# sourceMappingURL=ServiceDetail.d.ts.map