import { QualifiedId } from '@wireapp/api-client/lib/user'; import { CoreCryptoError, ErrorContext, ErrorType, MlsErrorType } from '@wireapp/core-crypto'; export declare const CORE_CRYPTO_ERROR_NAMES: { MlsErrorConversationAlreadyExists: string; MlsErrorDuplicateMessage: string; MlsErrorBufferedFutureMessage: string; MlsErrorMessageEpochTooOld: string; MlsErrorSelfCommitIgnored: string; MlsErrorUnmergedPendingGroup: string; MlsErrorStaleProposal: string; MlsErrorStaleCommit: string; MlsErrorOther: string; ProteusErrorSessionNotFound: string; ProteusErrorRemoteIdentityChanged: string; MlsErrorWrongEpoch: string; }; export declare const isCoreCryptoMLSWrongEpochError: (error: unknown) => boolean; export declare const isCoreCryptoMLSConversationAlreadyExistsError: (error: unknown) => boolean; export declare const shouldMLSDecryptionErrorBeIgnored: (error: unknown) => error is Error; export declare const UPLOAD_COMMIT_BUNDLE_ABORT_REASONS: { BROKEN_MLS_CONVERSATION: string; MLS_STALE_MESSAGE: string; MLS_GROUP_OUT_OF_SYNC: string; OTHER: string; }; export type ConversationAlreadyExistsError = CoreCryptoError & { context: Extract; }; type MessageRejectedError = CoreCryptoError & { context: Extract; }; export declare function isBrokenMLSConversationError(error: unknown): error is MessageRejectedError; export declare function isMLSStaleMessageError(error: unknown): error is MessageRejectedError; export declare function isMLSGroupOutOfSyncError(error: unknown): error is MessageRejectedError; export declare function getMLSGroupOutOfSyncErrorMissingUsers(error: unknown): QualifiedId[]; type AbortReasonBrokenMLSConversation = { message: typeof UPLOAD_COMMIT_BUNDLE_ABORT_REASONS.BROKEN_MLS_CONVERSATION; }; type AbortReasonMLSStaleMessage = { message: typeof UPLOAD_COMMIT_BUNDLE_ABORT_REASONS.MLS_STALE_MESSAGE; }; type AbortReasonMLSGroupOutOfSync = { message: typeof UPLOAD_COMMIT_BUNDLE_ABORT_REASONS.MLS_GROUP_OUT_OF_SYNC; missing_users: QualifiedId[]; }; type AbortReasonOther = { message: typeof UPLOAD_COMMIT_BUNDLE_ABORT_REASONS.OTHER; }; type AbortReasons = AbortReasonBrokenMLSConversation | AbortReasonMLSStaleMessage | AbortReasonMLSGroupOutOfSync | AbortReasonOther; export declare function serializeAbortReason(reason: AbortReasons): string; export {}; //# sourceMappingURL=CoreCryptoMLSError.d.ts.map