/**
 * Advanced Messaging DTOs - Chuẩn theo automation-web advanced-messaging.dto.ts
 */
export declare enum ThreadType {
    User = 0,
    Group = 1
}
export declare enum DestType {
    User = 3,
    Page = 5
}
export interface SendDeliveredEventMessage {
    msgId: string;
    cliMsgId: string;
    uidFrom: string;
    idTo: string;
    msgType: string;
    st: number;
    at: number;
    cmd: number;
    ts: string | number;
}
export interface SendDeliveredEventRequest {
    sessionId: string;
    isSeen: boolean;
    messages: SendDeliveredEventMessage[];
    type: ThreadType;
}
export interface SendDeliveredEventResponse {
    result: string | {
        status: number;
    };
}
export interface SendSeenEventMessage {
    msgId: string;
    cliMsgId: string;
    uidFrom: string;
    idTo: string;
    msgType: string;
    st: number;
    at: number;
    cmd: number;
    ts: string | number;
}
export interface SendSeenEventRequest {
    sessionId: string;
    messages: SendSeenEventMessage[];
    type: ThreadType;
}
export interface SendSeenEventResponse {
    result: {
        status: number;
    };
}
export interface SendTypingEventRequest {
    sessionId: string;
    threadId: string;
    type: ThreadType;
    destType?: DestType;
}
export interface SendTypingEventResponse {
    result: {
        status: number;
    };
}
export interface AttachmentMetadata {
    totalSize?: number;
    width?: number;
    height?: number;
}
export interface AttachmentSource {
    data: string;
    filename: string;
    metadata: AttachmentMetadata;
}
export interface UploadAttachmentRequest {
    sessionId: string;
    sources: AttachmentSource[];
    threadId: string;
    type: ThreadType;
}
export interface UploadAttachmentResult {
    fileType: "image" | "video" | "others";
    clientFileId: string | number;
    chunkId: number;
    finished: number;
    photoId?: string;
    normalUrl?: string;
    hdUrl?: string;
    thumbUrl?: string;
    fileUrl?: string;
    fileId?: string;
    checksum?: string;
    fileName?: string;
    totalSize?: number;
    width?: number;
    height?: number;
    hdSize?: number;
}
export interface UploadAttachmentResponse {
    result: UploadAttachmentResult[];
}
//# sourceMappingURL=advanced-messaging.type.d.ts.map