/**
 * 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 {} from '@finos/legend-shared';
import { V1_Resource, } from './V1_CoreEntitlements.js';
// ------------------------------------------- Data Contracts -------------------------------------------
export class V1_ConsumerEntitlementResource extends V1_Resource {
}
export class V1_AccessPointGroupReference extends V1_ConsumerEntitlementResource {
    dataProduct;
    accessPointGroup;
}
export class V1_DataBundle extends V1_ConsumerEntitlementResource {
    content;
}
export var V1_ContractState;
(function (V1_ContractState) {
    V1_ContractState["DRAFT"] = "DRAFT";
    V1_ContractState["PENDING_DATA_OWNER_APPROVAL"] = "PENDING_DATA_OWNER_APPROVAL";
    V1_ContractState["OPEN_FOR_PRIVILEGE_MANAGER_APPROVAL"] = "OPEN_FOR_PRIVILEGE_MANAGER_APPROVAL";
    V1_ContractState["COMPLETED"] = "COMPLETED";
    V1_ContractState["REJECTED"] = "REJECTED";
    V1_ContractState["CLOSED"] = "CLOSED";
})(V1_ContractState || (V1_ContractState = {}));
export class V1_DataContract {
    description;
    guid;
    version;
    state;
    resource;
    members = [];
    consumer;
    createdBy;
    createdAt;
}
export class V1_DataContractSubscriptions {
    dataContract;
    subscriptions;
}
export class V1_DataContractsResponse {
    dataContracts;
}
export class V1_InvalidateDataContractResponse {
    contractId;
    invalidated;
    requestId;
}
// -------------------------------------- Lite Data Contracts ------------------------------------------
export class V1_LiteDataContract {
    description;
    guid;
    version;
    state;
    members = [];
    consumer;
    createdBy;
    createdAt;
    resourceId;
    resourceType;
    deploymentId;
    accessPointGroup;
}
export class V1_LiteDataContractsResponse {
    dataContracts;
}
export class V1_LiteDataContractWithUserStatus {
    contractResultLite;
    status;
    pendingTaskWithAssignees;
    user;
}
// -------------------------------------- Data Contract Approval ---------------------------------------
export var V1_UserApprovalStatus;
(function (V1_UserApprovalStatus) {
    V1_UserApprovalStatus["PENDING"] = "PENDING";
    V1_UserApprovalStatus["APPROVED"] = "APPROVED";
    V1_UserApprovalStatus["DENIED"] = "DENIED";
    V1_UserApprovalStatus["REVOKED"] = "REVOKED";
    V1_UserApprovalStatus["CLOSED"] = "CLOSED";
})(V1_UserApprovalStatus || (V1_UserApprovalStatus = {}));
export var V1_EnrichedUserApprovalStatus;
(function (V1_EnrichedUserApprovalStatus) {
    V1_EnrichedUserApprovalStatus["PENDING_CONSUMER_PRIVILEGE_MANAGER_APPROVAL"] = "PENDING_CONSUMER_PRIVILEGE_MANAGER_APPROVAL";
    V1_EnrichedUserApprovalStatus["PENDING_DATA_OWNER_APPROVAL"] = "PENDING_DATA_OWNER_APPROVAL";
    V1_EnrichedUserApprovalStatus["APPROVED"] = "APPROVED";
    V1_EnrichedUserApprovalStatus["DENIED"] = "DENIED";
    V1_EnrichedUserApprovalStatus["REVOKED"] = "REVOKED";
    V1_EnrichedUserApprovalStatus["CLOSED"] = "CLOSED";
})(V1_EnrichedUserApprovalStatus || (V1_EnrichedUserApprovalStatus = {}));
export class V1_DataContractApprovedUsersResponse {
    approvedUsers;
}
export class V1_ContractUserMembership {
    guid;
    user;
    status;
}
export var V1_ResourceType;
(function (V1_ResourceType) {
    V1_ResourceType["ACCESS_POINT_GROUP"] = "ACCESS_POINT_GROUP";
    V1_ResourceType["DATA_PRODUCT"] = "DATA_PRODUCT";
    V1_ResourceType["DATA_BUNDLE"] = "DATA_BUNDLE";
    V1_ResourceType["UNKNOWN"] = "UNKNOWN";
})(V1_ResourceType || (V1_ResourceType = {}));
export var V1_ApprovalType;
(function (V1_ApprovalType) {
    V1_ApprovalType["DATA_OWNER_APPROVAL"] = "DATA_OWNER_APPROVAL";
    V1_ApprovalType["CONSUMER_PRIVILEGE_MANAGER_APPROVAL"] = "CONSUMER_PRIVILEGE_MANAGER_APPROVAL";
})(V1_ApprovalType || (V1_ApprovalType = {}));
export class V1_ContractUserStatusResponse {
    status;
}
// ---------------------------------------- Data Contract Tasks ----------------------------------------
export var V1_ContractEventPayloadType;
(function (V1_ContractEventPayloadType) {
    V1_ContractEventPayloadType["CLOSED"] = "Closed";
    V1_ContractEventPayloadType["DATA_PRODUCER_APPROVED"] = "DataProducerApproved";
    V1_ContractEventPayloadType["DATA_PRODUCER_REJECTED"] = "DataProducerRejected";
    V1_ContractEventPayloadType["PRIVILEGE_MANAGER_APPROVED"] = "PrivilegeManagerApproved";
    V1_ContractEventPayloadType["PRIVILEGE_MANAGER_REJECTED"] = "PrivilegeManagerRejected";
    V1_ContractEventPayloadType["SUBMITTED"] = "Submitted";
    V1_ContractEventPayloadType["SUBMITTED_FOR_AUTO_APPROVAL"] = "SubmittedForAutoApproval";
})(V1_ContractEventPayloadType || (V1_ContractEventPayloadType = {}));
export class V1_TaskStatus {
    status;
    errorType;
    errorMessage;
}
export class V1_CreateContractPayload {
    description;
    resourceId;
    resourceType;
    deploymentId;
    accessPointGroup;
    consumer;
}
export class V1_ContractUserEventPayload {
    type;
    eventTimestamp;
}
export class V1_TerminalOrderItem {
    providerName;
    productName;
    category;
    price;
    id;
    perm_id;
}
export class V1_TerminalProvisionPayload {
    ordered_by;
    kerberos;
    order_items;
    business_justification;
}
export class V1_ContractUserEventPrivilegeManagerPayload extends V1_ContractUserEventPayload {
    candidateIdentity;
    managerIdentity;
    taskId;
}
export class V1_ContractUserEventDataProducerPayload extends V1_ContractUserEventPayload {
    candidateIdentity;
    dataProducerIdentity;
    taskId;
}
export class V1_ContractUserEventRecord {
    taskId;
    dataContractId;
    status;
    consumer;
    eventPayload;
    type;
    effectiveFrom;
    effectiveTo;
    isEscalated;
}
export class V1_PendingTasksResponse {
    privilegeManager = [];
    dataOwner = [];
}
export class V1_TaskStatusChangeResponse {
    status;
    errorType;
    errorMessage;
}
export class V1_TaskMetadata {
    rec;
    assignees = [];
}
export class V1_TaskResponse {
    tasks;
}
//# sourceMappingURL=V1_ConsumerEntitlements.js.map