import { SignalService } from "@session.js/types/signal-bindings"; import { ExpirableMessage, type ExpirableMessageParams } from "../expirable-message.js"; import { type Reaction } from "../../reactions/index.js"; import { type Profile } from "../../profile/index.js"; interface AttachmentPointerCommon { contentType?: string; key?: Uint8Array; size?: number; thumbnail?: Uint8Array; digest?: Uint8Array; fileName?: string; flags?: number; width?: number; height?: number; caption?: string; } export interface AttachmentPointer extends AttachmentPointerCommon { url?: string; id?: number; } export interface AttachmentPointerWithUrl extends AttachmentPointerCommon { url: string; id: number; } export interface Preview { url: string; title?: string; image?: AttachmentPointer; } export interface PreviewWithAttachmentUrl { url: string; id: number; title?: string; image?: AttachmentPointerWithUrl; } interface QuotedAttachmentCommon { contentType?: string; fileName?: string; } export interface QuotedAttachment extends QuotedAttachmentCommon { thumbnail?: AttachmentPointer; } export interface QuotedAttachmentWithUrl extends QuotedAttachmentCommon { thumbnail?: AttachmentPointerWithUrl | QuotedAttachment; } export interface Quote { id: number; author: string; text?: string; attachments?: Array; } export interface VisibleMessageParams extends ExpirableMessageParams { attachments?: Array; body?: string; quote?: Quote; profile?: Profile; preview?: Array; reaction?: Reaction; syncTarget?: string; } export declare class VisibleMessage extends ExpirableMessage { readonly reaction?: Reaction; private readonly attachments?; private readonly body?; private readonly quote?; private readonly profileKey?; private readonly profile?; private readonly preview?; private readonly syncTarget?; constructor(params: VisibleMessageParams); contentProto(): SignalService.Content; dataProto(): SignalService.DataMessage; isEqual(comparator: VisibleMessage): boolean; } export {};