@wireapp/core-crypto
Version:
CoreCrypto bindings for browser and native JavaScript runtimes
1,822 lines (1,820 loc) • 117 kB
TypeScript
// Generated by dts-bundle-generator v9.5.1
import { UniffiAbstractObject, UniffiGcObject, UniffiHandle, destructorGuardSymbol, pointerLiteralSymbol, uniffiTypeNameSymbol, variantOrdinalSymbol } from '@ubjs/core';
/**
* Returns build metadata for CoreCrypto.
*/
export declare function buildMetadata(): BuildMetadata;
/**
* Get an instance of the default cipher suite.
*/
export declare function cipherSuiteDefault(): CipherSuite;
/**
* Construct a cipher suite enum instance from its discriminant.
*/
export declare function cipherSuiteFromU16(discriminant: number): CipherSuite;
/**
* Updates the key of the CoreCrypto database.
*
* This function is intended to be called only once, when migrating from CoreCrypto 5.x to 6.x.
*/
export declare function migrateDatabaseKeyTypeToBytes(path: string, oldKey: string, newKey: DatabaseKeyLike, asyncOpts_?: {
signal: AbortSignal;
}): Promise<void>;
/**
* Returns the Proteus last resort prekey ID.
*
* The last resort prekey is a special prekey retained after all other prekeys have been consumed,
* ensuring a session can always be established. Its ID is always `u16::MAX` (65535).
*/
declare function proteusLastResortPrekeyIdFfi(): number;
/**
* Initializes the logger.
*/
export declare function setLogger(logger: CoreCryptoLogger): void;
/**
* Sets the maximum log level forwarded to the logger.
*/
export declare function setMaxLogLevel(level: CoreCryptoLogLevel): void;
/**
* The version of `core-crypto`.
*/
export declare function version(): string;
type UuidLike = Uuid;
/**
* A Uuid.
*/
export declare class Uuid extends UniffiAbstractObject {
readonly [uniffiTypeNameSymbol] = "Uuid";
readonly [destructorGuardSymbol]: UniffiGcObject;
readonly [pointerLiteralSymbol]: UniffiHandle;
/**
* Parse a `Uuid` from a string.
*/
constructor(uuid: string);
toString(): string;
equals(other: Uuid): boolean;
hashCode(): bigint;
uniffiDestroy(): void;
static instanceOf(obj_: any): obj_ is Uuid;
}
type DeviceIdLike = DeviceId;
/**
* A Device ID.
*/
export declare class DeviceId extends UniffiAbstractObject {
readonly [uniffiTypeNameSymbol] = "DeviceId";
readonly [destructorGuardSymbol]: UniffiGcObject;
readonly [pointerLiteralSymbol]: UniffiHandle;
/**
* New device id from an unsigned 64-bit integer.
*/
constructor(id: bigint);
/**
* Construct a `DeviceId` from 8 bytes encoded as a hex string.
*/
static fromHexString(hexString: string): DeviceIdLike;
/**
* Encode the `DeviceId` as a 16-character lowercase hex string, with leading 0s.
*/
toHexString(): string;
/**
* Get the number corresponding to this `DeviceId`.
*/
toU64(): bigint;
equals(other: DeviceId): boolean;
hashCode(): bigint;
uniffiDestroy(): void;
static instanceOf(obj_: any): obj_ is DeviceId;
}
/**
* This directly represents a `ClientId` of the `<userid>:<device-id>@<domain>` format.
* Instantiate via [ClientId::deserialize].
*/
export type DeserializedClientId = {
/**
* The client id this was deserialized from
*/
clientId: ClientIdLike;
/**
* The user id component
*/
userId: UuidLike;
/**
* The device id component
*/
deviceId: DeviceIdLike;
/**
* The domain
*/
domain: string;
};
/**
* Generated factory for {@link DeserializedClientId} record objects.
*/
export declare const DeserializedClientId: Readonly<{
create: (partial: Partial<DeserializedClientId> & Required<Omit<DeserializedClientId, never>>) => DeserializedClientId;
new: (partial: Partial<DeserializedClientId> & Required<Omit<DeserializedClientId, never>>) => DeserializedClientId;
defaults: () => Partial<DeserializedClientId>;
toString(self_: DeserializedClientId): string;
}>;
type ClientIdLike = ClientId;
/**
* A unique identifier for an MLS client.
*
* Each app instance a user is running, such as desktop or mobile, is a separate client
* with its own client id. A single user may therefore have multiple clients.
* More information: <https://messaginglayersecurity.rocks/mls-architecture/draft-ietf-mls-architecture.html#name-group-members-and-clients>
*/
export declare class ClientId extends UniffiAbstractObject {
readonly [uniffiTypeNameSymbol] = "ClientId";
readonly [destructorGuardSymbol]: UniffiGcObject;
readonly [pointerLiteralSymbol]: UniffiHandle;
/**
* Create a new client id.
*/
constructor(userId: UuidLike, deviceId: DeviceIdLike, domain: string);
/**
* Copy the wrapped data into a new byte array.
*/
copyBytes(): Uint8Array;
/**
* Copy the wrapped data into a direct representation of the `<user-id>:<device-id>@<domain>` format.
*/
deserialize(): DeserializedClientId;
equals(other: ClientId): boolean;
hashCode(): bigint;
uniffiDestroy(): void;
static instanceOf(obj_: any): obj_ is ClientId;
}
/**
* The standalone status of a device credential in an MLS group at a given moment.
*
* This does not represent states where a device is not using MLS or end-to-end identity.
*/
export declare enum DeviceStatus {
/**
* The device credential is valid.
*/
Valid = 1,
/**
* The device credential's certificate has expired.
*/
Expired = 2,
/**
* The device credential's certificate has been revoked.
*
* Note: revocation is not yet implemented.
*/
Revoked = 3
}
/**
* The type of credential used to authenticate an MLS client's identity.
*/
export declare enum CredentialType {
/**
* A basic credential backed by a raw key pair, without any certificate infrastructure.
*/
Basic = 1,
/**
* An X509 certificate credential, typically obtained through the end-to-end identity enrollment process.
*/
X509 = 2
}
/**
* Typealias from the type name used in the UDL file to the builtin type. This
* is needed because the UDL type name is used in function/method signatures.
*/
export type Timestamp = Date;
/**
* Fields from a `WireIdentity` that are specific to X509 credentials.
*/
export type X509Identity = {
/**
* User handle e.g. `john_wire`
*/
handle: string;
/**
* Name as displayed in the messaging application e.g. `John Fitzgerald Kennedy`
*/
displayName: string;
/**
* DNS domain for which this identity proof was generated e.g. `whitehouse.gov`
*/
domain: string;
/**
* PEM-encoded X509 certificate identifying this client in the MLS group.
*/
certificate: string;
/**
* X509 certificate serial number
*/
serialNumber: string;
/**
* Certificate validity start time (the X509 notBefore field).
*/
notBefore: Timestamp;
/**
* Certificate validity end time (the X509 notAfter field).
*/
notAfter: Timestamp;
};
/**
* Generated factory for {@link X509Identity} record objects.
*/
export declare const X509Identity: Readonly<{
create: (partial: Partial<X509Identity> & Required<Omit<X509Identity, never>>) => X509Identity;
new: (partial: Partial<X509Identity> & Required<Omit<X509Identity, never>>) => X509Identity;
defaults: () => Partial<X509Identity>;
}>;
/**
* The identity claims identifying a client.
*
* Those claims are verifiable by any member in the group.
*/
export type WireIdentity = {
/**
* Unique client identifier e.g. `T4Coy4vdRzianwfOgXpn6A:6add501bacd1d90e@whitehouse.gov`
*/
clientId?: ClientIdLike;
/**
* Status of the credential at the moment this object is created.
*/
status: DeviceStatus;
/**
* MLS thumbprint
*/
thumbprint: string;
/**
* Indicates whether the credential is Basic or X509.
*/
credentialType: CredentialType;
/**
* The X509 certificate details; populated only when `credential_type` is X509.
*/
x509Identity?: X509Identity;
};
/**
* Generated factory for {@link WireIdentity} record objects.
*/
export declare const WireIdentity: Readonly<{
create: (partial: Partial<WireIdentity> & Required<Omit<WireIdentity, "clientId" | "x509Identity">>) => WireIdentity;
new: (partial: Partial<WireIdentity> & Required<Omit<WireIdentity, "clientId" | "x509Identity">>) => WireIdentity;
defaults: () => Partial<WireIdentity>;
}>;
/**
* A decrypted message that was buffered due to out-of-order delivery by the distribution service.
*
* These are returned in the `buffered_messages` field of a `DecryptedMessage` when a commit is
* processed. They represent messages for the new epoch that arrived before the commit that created it.
*/
export type BufferedDecryptedMessage = {
/**
* Decrypted plaintext
*/
message?: Uint8Array;
/**
* False if processing this message caused the client to be removed from the group, i.e. due to a Remove commit.
*/
isActive: boolean;
/**
* Commit delay in seconds.
*
* When set, clients must delay this long before processing a commit.
* This reduces load on the backend, which otherwise would receive epoch change notifications from all clients
* simultaneously.
*/
commitDelay?: bigint;
/**
* `ClientId` of the sender of the message being decrypted. Only present for application messages.
*/
senderClientId?: ClientIdLike;
/**
* Identity claims present in the sender credential.
*/
identity: WireIdentity;
};
/**
* Generated factory for {@link BufferedDecryptedMessage} record objects.
*/
export declare const BufferedDecryptedMessage: Readonly<{
create: (partial: Partial<BufferedDecryptedMessage> & Required<Omit<BufferedDecryptedMessage, "message" | "commitDelay" | "senderClientId">>) => BufferedDecryptedMessage;
new: (partial: Partial<BufferedDecryptedMessage> & Required<Omit<BufferedDecryptedMessage, "message" | "commitDelay" | "senderClientId">>) => BufferedDecryptedMessage;
defaults: () => Partial<BufferedDecryptedMessage>;
}>;
/**
* Metadata describing the conditions of the build of this software.
*/
export type BuildMetadata = {
/**
* Build timestamp
*/
timestamp: string;
/**
* Whether this build was in Debug mode (true) or Release mode (false).
*/
cargoDebug: string;
/**
* Features enabled for this build.
*/
cargoFeatures: string;
/**
* Optimization level
*/
optLevel: string;
/**
* Build target triple
*/
targetTriple: string;
/**
* Git branch
*/
gitBranch: string;
/**
* Output of `git describe`
*/
gitDescribe: string;
/**
* Hash of current git commit
*/
gitSha: string;
/**
* `true` when the source code differed from the commit at the most recent git hash.
*/
gitDirty: string;
};
/**
* Generated factory for {@link BuildMetadata} record objects.
*/
export declare const BuildMetadata: Readonly<{
create: (partial: Partial<BuildMetadata> & Required<Omit<BuildMetadata, never>>) => BuildMetadata;
new: (partial: Partial<BuildMetadata> & Required<Omit<BuildMetadata, never>>) => BuildMetadata;
defaults: () => Partial<BuildMetadata>;
}>;
export declare enum MlsError_Tags {
ConversationAlreadyExists = "ConversationAlreadyExists",
DuplicateMessage = "DuplicateMessage",
BufferedFutureMessage = "BufferedFutureMessage",
WrongEpoch = "WrongEpoch",
BufferedCommit = "BufferedCommit",
MessageEpochTooOld = "MessageEpochTooOld",
SelfCommitIgnored = "SelfCommitIgnored",
UnmergedPendingGroup = "UnmergedPendingGroup",
StaleProposal = "StaleProposal",
StaleCommit = "StaleCommit",
OrphanWelcome = "OrphanWelcome",
MessageRejected = "MessageRejected",
Other = "Other"
}
/**
* Errors produced by the MLS layer.
*/
export declare const MlsError: Readonly<{
instanceOf: (obj: any) => obj is MlsError;
ConversationAlreadyExists: {
new (inner: {
conversationId: Uint8Array;
}): {
readonly tag: MlsError_Tags.ConversationAlreadyExists;
readonly inner: Readonly<{
conversationId: Uint8Array;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(inner: {
conversationId: Uint8Array;
}): {
readonly tag: MlsError_Tags.ConversationAlreadyExists;
readonly inner: Readonly<{
conversationId: Uint8Array;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.ConversationAlreadyExists;
readonly inner: Readonly<{
conversationId: Uint8Array;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.ConversationAlreadyExists;
readonly inner: Readonly<{
conversationId: Uint8Array;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
getInner(obj: {
readonly tag: MlsError_Tags.ConversationAlreadyExists;
readonly inner: Readonly<{
conversationId: Uint8Array;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
}): Readonly<{
conversationId: Uint8Array;
}>;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
DuplicateMessage: {
new (): {
readonly tag: MlsError_Tags.DuplicateMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: MlsError_Tags.DuplicateMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.DuplicateMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.DuplicateMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
BufferedFutureMessage: {
new (): {
readonly tag: MlsError_Tags.BufferedFutureMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: MlsError_Tags.BufferedFutureMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.BufferedFutureMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.BufferedFutureMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
WrongEpoch: {
new (): {
readonly tag: MlsError_Tags.WrongEpoch;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: MlsError_Tags.WrongEpoch;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.WrongEpoch;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.WrongEpoch;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
BufferedCommit: {
new (): {
readonly tag: MlsError_Tags.BufferedCommit;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: MlsError_Tags.BufferedCommit;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.BufferedCommit;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.BufferedCommit;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
MessageEpochTooOld: {
new (): {
readonly tag: MlsError_Tags.MessageEpochTooOld;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: MlsError_Tags.MessageEpochTooOld;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.MessageEpochTooOld;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.MessageEpochTooOld;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
SelfCommitIgnored: {
new (): {
readonly tag: MlsError_Tags.SelfCommitIgnored;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: MlsError_Tags.SelfCommitIgnored;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.SelfCommitIgnored;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.SelfCommitIgnored;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
UnmergedPendingGroup: {
new (): {
readonly tag: MlsError_Tags.UnmergedPendingGroup;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: MlsError_Tags.UnmergedPendingGroup;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.UnmergedPendingGroup;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.UnmergedPendingGroup;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
StaleProposal: {
new (): {
readonly tag: MlsError_Tags.StaleProposal;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: MlsError_Tags.StaleProposal;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.StaleProposal;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.StaleProposal;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
StaleCommit: {
new (): {
readonly tag: MlsError_Tags.StaleCommit;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: MlsError_Tags.StaleCommit;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.StaleCommit;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.StaleCommit;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
OrphanWelcome: {
new (): {
readonly tag: MlsError_Tags.OrphanWelcome;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: MlsError_Tags.OrphanWelcome;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.OrphanWelcome;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.OrphanWelcome;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
MessageRejected: {
new (inner: {
reason: string;
}): {
readonly tag: MlsError_Tags.MessageRejected;
readonly inner: Readonly<{
reason: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(inner: {
reason: string;
}): {
readonly tag: MlsError_Tags.MessageRejected;
readonly inner: Readonly<{
reason: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.MessageRejected;
readonly inner: Readonly<{
reason: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.MessageRejected;
readonly inner: Readonly<{
reason: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
getInner(obj: {
readonly tag: MlsError_Tags.MessageRejected;
readonly inner: Readonly<{
reason: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
}): Readonly<{
reason: string;
}>;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
Other: {
new (inner: {
msg: string;
}): {
readonly tag: MlsError_Tags.Other;
readonly inner: Readonly<{
msg: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(inner: {
msg: string;
}): {
readonly tag: MlsError_Tags.Other;
readonly inner: Readonly<{
msg: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: MlsError_Tags.Other;
readonly inner: Readonly<{
msg: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: MlsError_Tags.Other;
readonly inner: Readonly<{
msg: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
getInner(obj: {
readonly tag: MlsError_Tags.Other;
readonly inner: Readonly<{
msg: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "MlsError";
name: string;
message: string;
stack?: string;
cause?: unknown;
}): Readonly<{
msg: string;
}>;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
}>;
/**
* Errors produced by the MLS layer.
*/
export type MlsError = InstanceType<(typeof MlsError)["ConversationAlreadyExists" | "DuplicateMessage" | "BufferedFutureMessage" | "WrongEpoch" | "BufferedCommit" | "MessageEpochTooOld" | "SelfCommitIgnored" | "UnmergedPendingGroup" | "StaleProposal" | "StaleCommit" | "OrphanWelcome" | "MessageRejected" | "Other"]>;
export declare enum ProteusError_Tags {
SessionNotFound = "SessionNotFound",
DuplicateMessage = "DuplicateMessage",
RemoteIdentityChanged = "RemoteIdentityChanged",
Other = "Other"
}
/**
* Errors produced by the Proteus layer.
*/
export declare const ProteusError: Readonly<{
instanceOf: (obj: any) => obj is ProteusError;
SessionNotFound: {
new (): {
readonly tag: ProteusError_Tags.SessionNotFound;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: ProteusError_Tags.SessionNotFound;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: ProteusError_Tags.SessionNotFound;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: ProteusError_Tags.SessionNotFound;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
DuplicateMessage: {
new (): {
readonly tag: ProteusError_Tags.DuplicateMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: ProteusError_Tags.DuplicateMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: ProteusError_Tags.DuplicateMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: ProteusError_Tags.DuplicateMessage;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
RemoteIdentityChanged: {
new (): {
readonly tag: ProteusError_Tags.RemoteIdentityChanged;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(): {
readonly tag: ProteusError_Tags.RemoteIdentityChanged;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: ProteusError_Tags.RemoteIdentityChanged;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: ProteusError_Tags.RemoteIdentityChanged;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
Other: {
new (inner: {
errorCode: number;
}): {
readonly tag: ProteusError_Tags.Other;
readonly inner: Readonly<{
errorCode: number;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(inner: {
errorCode: number;
}): {
readonly tag: ProteusError_Tags.Other;
readonly inner: Readonly<{
errorCode: number;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: ProteusError_Tags.Other;
readonly inner: Readonly<{
errorCode: number;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: ProteusError_Tags.Other;
readonly inner: Readonly<{
errorCode: number;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
getInner(obj: {
readonly tag: ProteusError_Tags.Other;
readonly inner: Readonly<{
errorCode: number;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "ProteusError";
name: string;
message: string;
stack?: string;
cause?: unknown;
}): Readonly<{
errorCode: number;
}>;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
}>;
/**
* Errors produced by the Proteus layer.
*/
export type ProteusError = InstanceType<(typeof ProteusError)["SessionNotFound" | "DuplicateMessage" | "RemoteIdentityChanged" | "Other"]>;
export declare enum CoreCryptoError_Tags {
Mls = "Mls",
Proteus = "Proteus",
E2ei = "E2ei",
TransactionFailed = "TransactionFailed",
Other = "Other"
}
/**
* The primary error type returned across the CoreCrypto FFI boundary.
*/
export declare const CoreCryptoError: Readonly<{
instanceOf: (obj: any) => obj is CoreCryptoError;
Mls: {
new (inner: {
mlsError: MlsError;
}): {
readonly tag: CoreCryptoError_Tags.Mls;
readonly inner: Readonly<{
mlsError: MlsError;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(inner: {
mlsError: MlsError;
}): {
readonly tag: CoreCryptoError_Tags.Mls;
readonly inner: Readonly<{
mlsError: MlsError;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: CoreCryptoError_Tags.Mls;
readonly inner: Readonly<{
mlsError: MlsError;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: CoreCryptoError_Tags.Mls;
readonly inner: Readonly<{
mlsError: MlsError;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
getInner(obj: {
readonly tag: CoreCryptoError_Tags.Mls;
readonly inner: Readonly<{
mlsError: MlsError;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
}): Readonly<{
mlsError: MlsError;
}>;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
Proteus: {
new (inner: {
exception: ProteusError;
}): {
readonly tag: CoreCryptoError_Tags.Proteus;
readonly inner: Readonly<{
exception: ProteusError;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(inner: {
exception: ProteusError;
}): {
readonly tag: CoreCryptoError_Tags.Proteus;
readonly inner: Readonly<{
exception: ProteusError;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: CoreCryptoError_Tags.Proteus;
readonly inner: Readonly<{
exception: ProteusError;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: CoreCryptoError_Tags.Proteus;
readonly inner: Readonly<{
exception: ProteusError;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
getInner(obj: {
readonly tag: CoreCryptoError_Tags.Proteus;
readonly inner: Readonly<{
exception: ProteusError;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
}): Readonly<{
exception: ProteusError;
}>;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
E2ei: {
new (inner: {
e2eiError: string;
}): {
readonly tag: CoreCryptoError_Tags.E2ei;
readonly inner: Readonly<{
e2eiError: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(inner: {
e2eiError: string;
}): {
readonly tag: CoreCryptoError_Tags.E2ei;
readonly inner: Readonly<{
e2eiError: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: CoreCryptoError_Tags.E2ei;
readonly inner: Readonly<{
e2eiError: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: CoreCryptoError_Tags.E2ei;
readonly inner: Readonly<{
e2eiError: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
getInner(obj: {
readonly tag: CoreCryptoError_Tags.E2ei;
readonly inner: Readonly<{
e2eiError: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
}): Readonly<{
e2eiError: string;
}>;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
stackTraceLimit: number;
isError(value: unknown): value is Error;
};
TransactionFailed: {
new (inner: {
error: string;
}): {
readonly tag: CoreCryptoError_Tags.TransactionFailed;
readonly inner: Readonly<{
error: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
"new"(inner: {
error: string;
}): {
readonly tag: CoreCryptoError_Tags.TransactionFailed;
readonly inner: Readonly<{
error: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
instanceOf(obj: any): obj is {
readonly tag: CoreCryptoError_Tags.TransactionFailed;
readonly inner: Readonly<{
error: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
hasInner(obj: any): obj is {
readonly tag: CoreCryptoError_Tags.TransactionFailed;
readonly inner: Readonly<{
error: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
};
getInner(obj: {
readonly tag: CoreCryptoError_Tags.TransactionFailed;
readonly inner: Readonly<{
error: string;
}>;
/**
* @private
* This field is private and should not be used, use `tag` instead.
*/
readonly [uniffiTypeNameSymbol]: "CoreCryptoError";
name: string;
message: string;
stack?: string;
cause?: unknown;
}): Readonly<{
error: string;
}>;
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
captureStackTrace(targetObject: object, constructorO