import { Device } from './Device.mjs'; import { HealthcareParty } from './HealthcareParty.mjs'; import { EncryptedPatient } from './Patient.mjs'; /** * * Sealed interface representing a data owner paired with its type. Each subtype wraps a specific * kind of data owner (healthcare party, patient, or device) as a polymorphic type. * / */ export type DataOwnerWithType = DataOwnerWithType.HcpDataOwner | DataOwnerWithType.PatientDataOwner | DataOwnerWithType.DeviceDataOwner; export declare namespace DataOwnerWithType { class HcpDataOwner { dataOwner: HealthcareParty; readonly $ktClass: 'com.icure.cardinal.sdk.model.DataOwnerWithType.HcpDataOwner'; constructor(partial: Partial & Pick); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): HcpDataOwner; } class PatientDataOwner { dataOwner: EncryptedPatient; readonly $ktClass: 'com.icure.cardinal.sdk.model.DataOwnerWithType.PatientDataOwner'; constructor(partial: Partial & Pick); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): PatientDataOwner; } class DeviceDataOwner { dataOwner: Device; readonly $ktClass: 'com.icure.cardinal.sdk.model.DataOwnerWithType.DeviceDataOwner'; constructor(partial: Partial & Pick); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): DeviceDataOwner; } function fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): DataOwnerWithType; }