// Re-exports, so a signature can say `@atproto.Did` without the caller having
// to know which package it came from.
//
// Types and traits only -- MoonBit does not re-export enum constructors, so
// pattern-matching an `AtIdentifier` still needs `@syntax` imported. That
// asymmetry is why this file is a convenience and not the API.

///|
pub using @syntax {
  type Did,
  type Handle,
  type AtIdentifier,
  type Nsid,
  type RecordKey,
  type Tid,
  type Ticker,
  type AtUri,
  type AtUriPath,
  type Datetime,
  type DatetimeParts,
  type Language,
  type Cid,
  type CidCodec,
  type Uri,
  type SyntaxError,
  type SyntaxKind,
}

///|
pub using @data {type LexValue, type BlobRef, type DecodeError}

///|
pub using @xrpc {
  type HttpRequest,
  type HttpResponse,
  type Params,
  type ParamValue,
  type Method,
  type Body,
  type Credential,
  type XrpcError,
  trait Transport,
}

///|
pub using @identity {type DidDocument, type Service, type VerificationMethod}