import { type IndividualMemberCredentialInput, type IndividualMemberVpPayloadInput } from 'gdc-common-utils-ts'; import { type NodeRuntimeClient } from './client-port.js'; import type { SmartTokenExchangeResult, SmartTokenRequestInput } from '../smart-token.js'; import type { RouteContext } from '../individual-onboarding.js'; import type { ClinicalBundleSearchInput, ClinicalSectionUpdateInput, SubjectSectionUpdateInput, ClinicalSummaryReadResult, ClinicalSummaryRequestInput, ClinicalSummaryUpdateInput, CommunicationIngestionInput, IndividualMemberLicenseTransitionInput, RelatedPersonUpsertInput } from '../resource-operations.js'; export declare class IndividualMemberSdk { private readonly client; constructor(client: NodeRuntimeClient); /** * Accepts one controller-issued invitation as the authenticated individual * member. The trusted runtime supplies the verified actor identifier; the * invitation alone never widens later Consent-derived SMART scopes. */ acceptMemberInvitation(ctx: RouteContext, input: IndividualMemberLicenseTransitionInput): Promise; /** * Compatibility adapter for the older direct `RelatedPerson` route. * * @deprecated Author a typed RelatedPerson Bundle, attach it to a * Communication outbox job, and call `ingestCommunicationAndUpdateIndex(...)`. */ upsertRelatedPersonAndPoll(ctx: RouteContext, input: RelatedPersonUpsertInput): Promise; /** * Requests a SMART token for a non-employee actor such as a `RelatedPerson` * caregiver, guardian, or family member. */ requestSmartToken(input: SmartTokenRequestInput): Promise; /** * Writes clinical content for a subject only after GW authorizes this member's * SMART token and accepted RelatedPerson/Consent relationship. */ ingestCommunicationAndUpdateIndex(ctx: RouteContext, input: CommunicationIngestionInput): Promise; /** Updates one authorized clinical section through a scoped batch/collection. */ updateClinicalSection(ctx: RouteContext, input: ClinicalSectionUpdateInput): Promise; /** Updates one authorized subject-owned section with its profile attester. */ updateSubjectSection(ctx: RouteContext, input: SubjectSectionUpdateInput): Promise; /** Updates an authorized multi-section summary document. */ updateClinicalSummary(ctx: RouteContext, input: ClinicalSummaryUpdateInput): Promise; /** Reads the member-authorized `$summary` document without mutating the subject index. */ requestClinicalSummary(ctx: RouteContext, input: ClinicalSummaryRequestInput): Promise; /** Reads subject-scoped clinical documents permitted to this member. */ searchClinicalBundle(ctx: RouteContext, input: ClinicalBundleSearchInput): Promise; /** Reads the latest permitted IPS document for the selected subject. */ getLatestIps(ctx: RouteContext, input: Omit): Promise; /** * Returns the normalized public continuity aliases that would be embedded in * the individual-member identity VC for SMART/OpenID4VP flows. */ getIdentitySameAs(input: IndividualMemberCredentialInput): string[]; /** * Builds the canonical individual-member identity VC used by shared SMART VP * helpers. */ getIdentityVC(input: IndividualMemberCredentialInput): Record; /** * Builds the canonical individual-member identity VP payload used by shared * SMART/OpenID4VP helpers. */ buildIdentityVpPayload(input: IndividualMemberVpPayloadInput): Record; /** * Builds one unsigned compact VP JWT for the canonical individual-member * identity payload. */ buildUnsignedIdentityVpJwt(input: IndividualMemberVpPayloadInput, options?: Readonly<{ nowSeconds?: number; ttlSeconds?: number; nonce?: string; }>): string; }