import NodeCache from 'node-cache';
import { Ora } from 'ora';
import { z } from 'zod';
import * as stream from 'stream';
import { Readable } from 'stream';

declare const AdapterDatabaseType: z.ZodDefault<z.ZodOptional<z.ZodObject<{
    type: z.ZodDefault<z.ZodEnum<["sqlite", "postgresql", "mysql"]>>;
    connection: z.ZodDefault<z.ZodOptional<z.ZodObject<{
        url: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        url: string;
    }, {
        url?: string | undefined;
    }>>>;
}, "strip", z.ZodTypeAny, {
    type: "sqlite" | "postgresql" | "mysql";
    connection: {
        url: string;
    };
}, {
    type?: "sqlite" | "postgresql" | "mysql" | undefined;
    connection?: {
        url?: string | undefined;
    } | undefined;
}>>>;
declare const CitationType: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnion<[z.ZodArray<z.ZodNumber, "many">, z.ZodPromise<z.ZodArray<z.ZodNumber, "many">>]>>>>, Record<string, number[]>, Record<string, (...args: unknown[]) => number[] | Promise<number[]>> | undefined>;
declare const ClientClassesBaseType: z.ZodObject<{
    prefix: z.ZodOptional<z.ZodString>;
    ignoreMe: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    showLogs: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoMentions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoOnline: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoRead: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoPresence: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoRejectCall: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    loadLLMSchemas: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    webhooks: z.ZodOptional<z.ZodObject<{
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        url: string;
    }, {
        url: string;
    }>>;
    limiter: z.ZodOptional<z.ZodObject<{
        durationMs: z.ZodNumber;
        maxMessages: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        durationMs: number;
        maxMessages: number;
    }, {
        durationMs: number;
        maxMessages: number;
    }>>;
    database: z.ZodDefault<z.ZodOptional<z.ZodObject<{
        type: z.ZodDefault<z.ZodEnum<["sqlite", "postgresql", "mysql"]>>;
        connection: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            url: z.ZodDefault<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            url: string;
        }, {
            url?: string | undefined;
        }>>>;
    }, "strip", z.ZodTypeAny, {
        type: "sqlite" | "postgresql" | "mysql";
        connection: {
            url: string;
        };
    }, {
        type?: "sqlite" | "postgresql" | "mysql" | undefined;
        connection?: {
            url?: string | undefined;
        } | undefined;
    }>>>;
    citation: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnion<[z.ZodArray<z.ZodNumber, "many">, z.ZodPromise<z.ZodArray<z.ZodNumber, "many">>]>>>>, Record<string, number[]>, Record<string, (...args: unknown[]) => number[] | Promise<number[]>> | undefined>;
}, "strip", z.ZodTypeAny, {
    citation: Record<string, number[]>;
    ignoreMe: boolean;
    showLogs: boolean;
    autoMentions: boolean;
    autoOnline: boolean;
    autoRead: boolean;
    autoPresence: boolean;
    autoRejectCall: boolean;
    loadLLMSchemas: boolean;
    database: {
        type: "sqlite" | "postgresql" | "mysql";
        connection: {
            url: string;
        };
    };
    webhooks?: {
        url: string;
    } | undefined;
    prefix?: string | undefined;
    limiter?: {
        durationMs: number;
        maxMessages: number;
    } | undefined;
}, {
    citation?: Record<string, (...args: unknown[]) => number[] | Promise<number[]>> | undefined;
    webhooks?: {
        url: string;
    } | undefined;
    prefix?: string | undefined;
    ignoreMe?: boolean | undefined;
    showLogs?: boolean | undefined;
    autoMentions?: boolean | undefined;
    autoOnline?: boolean | undefined;
    autoRead?: boolean | undefined;
    autoPresence?: boolean | undefined;
    autoRejectCall?: boolean | undefined;
    loadLLMSchemas?: boolean | undefined;
    limiter?: {
        durationMs: number;
        maxMessages: number;
    } | undefined;
    database?: {
        type?: "sqlite" | "postgresql" | "mysql" | undefined;
        connection?: {
            url?: string | undefined;
        } | undefined;
    } | undefined;
}>;
declare const ClientClassesType: z.ZodDiscriminatedUnion<"authType", [z.ZodObject<{
    authType: z.ZodLiteral<"pairing">;
    phoneNumber: z.ZodNumber;
} & {
    prefix: z.ZodOptional<z.ZodString>;
    ignoreMe: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    showLogs: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoMentions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoOnline: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoRead: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoPresence: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoRejectCall: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    loadLLMSchemas: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    webhooks: z.ZodOptional<z.ZodObject<{
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        url: string;
    }, {
        url: string;
    }>>;
    limiter: z.ZodOptional<z.ZodObject<{
        durationMs: z.ZodNumber;
        maxMessages: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        durationMs: number;
        maxMessages: number;
    }, {
        durationMs: number;
        maxMessages: number;
    }>>;
    database: z.ZodDefault<z.ZodOptional<z.ZodObject<{
        type: z.ZodDefault<z.ZodEnum<["sqlite", "postgresql", "mysql"]>>;
        connection: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            url: z.ZodDefault<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            url: string;
        }, {
            url?: string | undefined;
        }>>>;
    }, "strip", z.ZodTypeAny, {
        type: "sqlite" | "postgresql" | "mysql";
        connection: {
            url: string;
        };
    }, {
        type?: "sqlite" | "postgresql" | "mysql" | undefined;
        connection?: {
            url?: string | undefined;
        } | undefined;
    }>>>;
    citation: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnion<[z.ZodArray<z.ZodNumber, "many">, z.ZodPromise<z.ZodArray<z.ZodNumber, "many">>]>>>>, Record<string, number[]>, Record<string, (...args: unknown[]) => number[] | Promise<number[]>> | undefined>;
}, "strip", z.ZodTypeAny, {
    citation: Record<string, number[]>;
    authType: "pairing";
    phoneNumber: number;
    ignoreMe: boolean;
    showLogs: boolean;
    autoMentions: boolean;
    autoOnline: boolean;
    autoRead: boolean;
    autoPresence: boolean;
    autoRejectCall: boolean;
    loadLLMSchemas: boolean;
    database: {
        type: "sqlite" | "postgresql" | "mysql";
        connection: {
            url: string;
        };
    };
    webhooks?: {
        url: string;
    } | undefined;
    prefix?: string | undefined;
    limiter?: {
        durationMs: number;
        maxMessages: number;
    } | undefined;
}, {
    authType: "pairing";
    phoneNumber: number;
    citation?: Record<string, (...args: unknown[]) => number[] | Promise<number[]>> | undefined;
    webhooks?: {
        url: string;
    } | undefined;
    prefix?: string | undefined;
    ignoreMe?: boolean | undefined;
    showLogs?: boolean | undefined;
    autoMentions?: boolean | undefined;
    autoOnline?: boolean | undefined;
    autoRead?: boolean | undefined;
    autoPresence?: boolean | undefined;
    autoRejectCall?: boolean | undefined;
    loadLLMSchemas?: boolean | undefined;
    limiter?: {
        durationMs: number;
        maxMessages: number;
    } | undefined;
    database?: {
        type?: "sqlite" | "postgresql" | "mysql" | undefined;
        connection?: {
            url?: string | undefined;
        } | undefined;
    } | undefined;
}>, z.ZodObject<{
    authType: z.ZodLiteral<"qr">;
    phoneNumber: z.ZodOptional<z.ZodUndefined>;
} & {
    prefix: z.ZodOptional<z.ZodString>;
    ignoreMe: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    showLogs: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoMentions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoOnline: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoRead: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoPresence: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoRejectCall: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    loadLLMSchemas: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    webhooks: z.ZodOptional<z.ZodObject<{
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        url: string;
    }, {
        url: string;
    }>>;
    limiter: z.ZodOptional<z.ZodObject<{
        durationMs: z.ZodNumber;
        maxMessages: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        durationMs: number;
        maxMessages: number;
    }, {
        durationMs: number;
        maxMessages: number;
    }>>;
    database: z.ZodDefault<z.ZodOptional<z.ZodObject<{
        type: z.ZodDefault<z.ZodEnum<["sqlite", "postgresql", "mysql"]>>;
        connection: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            url: z.ZodDefault<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            url: string;
        }, {
            url?: string | undefined;
        }>>>;
    }, "strip", z.ZodTypeAny, {
        type: "sqlite" | "postgresql" | "mysql";
        connection: {
            url: string;
        };
    }, {
        type?: "sqlite" | "postgresql" | "mysql" | undefined;
        connection?: {
            url?: string | undefined;
        } | undefined;
    }>>>;
    citation: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnion<[z.ZodArray<z.ZodNumber, "many">, z.ZodPromise<z.ZodArray<z.ZodNumber, "many">>]>>>>, Record<string, number[]>, Record<string, (...args: unknown[]) => number[] | Promise<number[]>> | undefined>;
}, "strip", z.ZodTypeAny, {
    citation: Record<string, number[]>;
    authType: "qr";
    ignoreMe: boolean;
    showLogs: boolean;
    autoMentions: boolean;
    autoOnline: boolean;
    autoRead: boolean;
    autoPresence: boolean;
    autoRejectCall: boolean;
    loadLLMSchemas: boolean;
    database: {
        type: "sqlite" | "postgresql" | "mysql";
        connection: {
            url: string;
        };
    };
    webhooks?: {
        url: string;
    } | undefined;
    phoneNumber?: undefined;
    prefix?: string | undefined;
    limiter?: {
        durationMs: number;
        maxMessages: number;
    } | undefined;
}, {
    authType: "qr";
    citation?: Record<string, (...args: unknown[]) => number[] | Promise<number[]>> | undefined;
    webhooks?: {
        url: string;
    } | undefined;
    phoneNumber?: undefined;
    prefix?: string | undefined;
    ignoreMe?: boolean | undefined;
    showLogs?: boolean | undefined;
    autoMentions?: boolean | undefined;
    autoOnline?: boolean | undefined;
    autoRead?: boolean | undefined;
    autoPresence?: boolean | undefined;
    autoRejectCall?: boolean | undefined;
    loadLLMSchemas?: boolean | undefined;
    limiter?: {
        durationMs: number;
        maxMessages: number;
    } | undefined;
    database?: {
        type?: "sqlite" | "postgresql" | "mysql" | undefined;
        connection?: {
            url?: string | undefined;
        } | undefined;
    } | undefined;
}>]>;

declare const WebhooksParserBaseType: z.ZodObject<{
    id: z.ZodString;
    method: z.ZodEnum<["GET", "POST"]>;
    host: z.ZodUnion<[z.ZodString, z.ZodUndefined]>;
    referer: z.ZodUnion<[z.ZodString, z.ZodUndefined]>;
    date: z.ZodString;
    size: z.ZodUnion<[z.ZodNumber, z.ZodUndefined]>;
    data: z.ZodObject<{
        query: z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>;
        json: z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>;
        form: z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>;
        raw: z.ZodUnion<[z.ZodString, z.ZodNull]>;
    }, "strip", z.ZodTypeAny, {
        query: Record<string, any> | null;
        json: Record<string, any> | null;
        form: Record<string, any> | null;
        raw: string | null;
    }, {
        query: Record<string, any> | null;
        json: Record<string, any> | null;
        form: Record<string, any> | null;
        raw: string | null;
    }>;
}, "strip", z.ZodTypeAny, {
    id: string;
    date: string;
    method: "GET" | "POST";
    data: {
        query: Record<string, any> | null;
        json: Record<string, any> | null;
        form: Record<string, any> | null;
        raw: string | null;
    };
    host?: string | undefined;
    referer?: string | undefined;
    size?: number | undefined;
}, {
    id: string;
    date: string;
    method: "GET" | "POST";
    data: {
        query: Record<string, any> | null;
        json: Record<string, any> | null;
        form: Record<string, any> | null;
        raw: string | null;
    };
    host?: string | undefined;
    referer?: string | undefined;
    size?: number | undefined;
}>;

declare const EventConnectionType: z.ZodObject<{
    status: z.ZodEnum<["connecting", "open", "close"]>;
}, "strip", z.ZodTypeAny, {
    status: "open" | "connecting" | "close";
}, {
    status: "open" | "connecting" | "close";
}>;
declare const EventMessagesType: z.ZodObject<{
    chatId: z.ZodString;
    channelId: z.ZodString;
    uniqueId: z.ZodString;
    receiverId: z.ZodString;
    receiverName: z.ZodString;
    roomId: z.ZodString;
    roomName: z.ZodString;
    senderId: z.ZodString;
    senderName: z.ZodString;
    senderDevice: z.ZodEnum<["unknown", "android", "ios", "desktop", "web"]>;
    chatType: z.ZodEnum<["text", "text", "image", "contact", "location", "document", "audio", "video", "protocol", "contactsArray", "highlyStructured", "sendPayment", "liveLocation", "requestPayment", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "templateButtonReply", "product", "deviceSent", "list", "viewOnce", "order", "listResponse", "ephemeral", "invoice", "buttons", "buttonsResponse", "paymentInvite", "interactive", "reaction", "sticker", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "document", "requestPhoneNumber", "viewOnce", "reaction", "text", "viewOnce", "pollCreation", "scheduledCallCreation", "groupMentioned", "pinInChat", "pollCreation", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "text", "text", "placeholder", "encEventUpdate"]>;
    timestamp: z.ZodNumber;
    mentions: z.ZodArray<z.ZodString, "many">;
    text: z.ZodNullable<z.ZodString>;
    links: z.ZodArray<z.ZodString, "many">;
    isPrefix: z.ZodBoolean;
    isSpam: z.ZodBoolean;
    isFromMe: z.ZodBoolean;
    isTagMe: z.ZodBoolean;
    isGroup: z.ZodBoolean;
    isStory: z.ZodBoolean;
    isViewOnce: z.ZodBoolean;
    isEdited: z.ZodBoolean;
    isDeleted: z.ZodBoolean;
    isPinned: z.ZodBoolean;
    isUnPinned: z.ZodBoolean;
    isChannel: z.ZodBoolean;
    isBroadcast: z.ZodBoolean;
    isEphemeral: z.ZodBoolean;
    isForwarded: z.ZodBoolean;
    citation: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
    media: z.ZodNullable<z.ZodObject<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
    }, z.ZodTypeAny, "passthrough">>>;
    message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
} & {
    replied: z.ZodNullable<z.ZodObject<{
        chatId: z.ZodString;
        channelId: z.ZodString;
        uniqueId: z.ZodString;
        receiverId: z.ZodString;
        receiverName: z.ZodString;
        roomId: z.ZodString;
        roomName: z.ZodString;
        senderId: z.ZodString;
        senderName: z.ZodString;
        senderDevice: z.ZodEnum<["unknown", "android", "ios", "desktop", "web"]>;
        chatType: z.ZodEnum<["text", "text", "image", "contact", "location", "document", "audio", "video", "protocol", "contactsArray", "highlyStructured", "sendPayment", "liveLocation", "requestPayment", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "templateButtonReply", "product", "deviceSent", "list", "viewOnce", "order", "listResponse", "ephemeral", "invoice", "buttons", "buttonsResponse", "paymentInvite", "interactive", "reaction", "sticker", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "document", "requestPhoneNumber", "viewOnce", "reaction", "text", "viewOnce", "pollCreation", "scheduledCallCreation", "groupMentioned", "pinInChat", "pollCreation", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "text", "text", "placeholder", "encEventUpdate"]>;
        timestamp: z.ZodNumber;
        mentions: z.ZodArray<z.ZodString, "many">;
        text: z.ZodNullable<z.ZodString>;
        links: z.ZodArray<z.ZodString, "many">;
        isPrefix: z.ZodBoolean;
        isSpam: z.ZodBoolean;
        isFromMe: z.ZodBoolean;
        isTagMe: z.ZodBoolean;
        isGroup: z.ZodBoolean;
        isStory: z.ZodBoolean;
        isViewOnce: z.ZodBoolean;
        isEdited: z.ZodBoolean;
        isDeleted: z.ZodBoolean;
        isPinned: z.ZodBoolean;
        isUnPinned: z.ZodBoolean;
        isChannel: z.ZodBoolean;
        isBroadcast: z.ZodBoolean;
        isEphemeral: z.ZodBoolean;
        isForwarded: z.ZodBoolean;
        citation: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
        media: z.ZodNullable<z.ZodObject<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough">>>;
        message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, "strip", z.ZodTypeAny, {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    }, {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectInputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    }>>;
}, "strip", z.ZodTypeAny, {
    channelId: string;
    uniqueId: string;
    message: (...args: unknown[]) => Record<string, any>;
    senderId: string;
    roomId: string;
    isGroup: boolean;
    text: string | null;
    chatId: string;
    receiverId: string;
    receiverName: string;
    roomName: string;
    senderName: string;
    senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
    chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
    timestamp: number;
    mentions: string[];
    links: string[];
    isPrefix: boolean;
    isSpam: boolean;
    isFromMe: boolean;
    isTagMe: boolean;
    isStory: boolean;
    isViewOnce: boolean;
    isEdited: boolean;
    isDeleted: boolean;
    isPinned: boolean;
    isUnPinned: boolean;
    isChannel: boolean;
    isBroadcast: boolean;
    isEphemeral: boolean;
    isForwarded: boolean;
    citation: Record<string, boolean> | null;
    media: z.objectOutputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
    }, z.ZodTypeAny, "passthrough"> | null;
    replied: {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    } | null;
}, {
    channelId: string;
    uniqueId: string;
    message: (...args: unknown[]) => Record<string, any>;
    senderId: string;
    roomId: string;
    isGroup: boolean;
    text: string | null;
    chatId: string;
    receiverId: string;
    receiverName: string;
    roomName: string;
    senderName: string;
    senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
    chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
    timestamp: number;
    mentions: string[];
    links: string[];
    isPrefix: boolean;
    isSpam: boolean;
    isFromMe: boolean;
    isTagMe: boolean;
    isStory: boolean;
    isViewOnce: boolean;
    isEdited: boolean;
    isDeleted: boolean;
    isPinned: boolean;
    isUnPinned: boolean;
    isChannel: boolean;
    isBroadcast: boolean;
    isEphemeral: boolean;
    isForwarded: boolean;
    citation: Record<string, boolean> | null;
    media: z.objectInputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
    }, z.ZodTypeAny, "passthrough"> | null;
    replied: {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectInputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    } | null;
}>;
declare const EventCallType: z.ZodObject<{
    callId: z.ZodString;
    roomId: z.ZodString;
    callerId: z.ZodString;
    date: z.ZodDate;
    offline: z.ZodBoolean;
    status: z.ZodEnum<["accept", "offer", "reject", "ringing", "terminate", "timeout"]>;
    isVideo: z.ZodBoolean;
    isGroup: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    status: "accept" | "offer" | "reject" | "ringing" | "terminate" | "timeout";
    callId: string;
    roomId: string;
    callerId: string;
    date: Date;
    offline: boolean;
    isVideo: boolean;
    isGroup: boolean;
}, {
    status: "accept" | "offer" | "reject" | "ringing" | "terminate" | "timeout";
    callId: string;
    roomId: string;
    callerId: string;
    date: Date;
    offline: boolean;
    isVideo: boolean;
    isGroup: boolean;
}>;
declare const EventEnumType: z.ZodEnum<["connection", "messages", "calls", "webhooks"]>;
type EventEnumType = z.infer<typeof EventEnumType>;
type EventCallbackType = {
    connection: (ctx: z.infer<typeof EventConnectionType>) => void;
    messages: (ctx: z.infer<typeof EventMessagesType>) => void;
    calls: (ctx: z.infer<typeof EventCallType>) => void;
    webhooks: (ctx: z.infer<typeof WebhooksParserBaseType>) => void;
};

declare const chatsGetMessage: z.ZodObject<{
    chatId: z.ZodString;
    channelId: z.ZodString;
    uniqueId: z.ZodString;
    receiverId: z.ZodString;
    receiverName: z.ZodString;
    roomId: z.ZodString;
    roomName: z.ZodString;
    senderId: z.ZodString;
    senderName: z.ZodString;
    senderDevice: z.ZodEnum<["unknown", "android", "ios", "desktop", "web"]>;
    chatType: z.ZodEnum<["text", "text", "image", "contact", "location", "document", "audio", "video", "protocol", "contactsArray", "highlyStructured", "sendPayment", "liveLocation", "requestPayment", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "templateButtonReply", "product", "deviceSent", "list", "viewOnce", "order", "listResponse", "ephemeral", "invoice", "buttons", "buttonsResponse", "paymentInvite", "interactive", "reaction", "sticker", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "document", "requestPhoneNumber", "viewOnce", "reaction", "text", "viewOnce", "pollCreation", "scheduledCallCreation", "groupMentioned", "pinInChat", "pollCreation", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "text", "text", "placeholder", "encEventUpdate"]>;
    timestamp: z.ZodNumber;
    mentions: z.ZodArray<z.ZodString, "many">;
    text: z.ZodNullable<z.ZodString>;
    links: z.ZodArray<z.ZodString, "many">;
    isPrefix: z.ZodBoolean;
    isSpam: z.ZodBoolean;
    isFromMe: z.ZodBoolean;
    isTagMe: z.ZodBoolean;
    isGroup: z.ZodBoolean;
    isStory: z.ZodBoolean;
    isViewOnce: z.ZodBoolean;
    isEdited: z.ZodBoolean;
    isDeleted: z.ZodBoolean;
    isPinned: z.ZodBoolean;
    isUnPinned: z.ZodBoolean;
    isChannel: z.ZodBoolean;
    isBroadcast: z.ZodBoolean;
    isEphemeral: z.ZodBoolean;
    isForwarded: z.ZodBoolean;
    citation: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
    media: z.ZodNullable<z.ZodObject<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
    }, z.ZodTypeAny, "passthrough">>>;
    message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
} & {
    replied: z.ZodNullable<z.ZodObject<{
        chatId: z.ZodString;
        channelId: z.ZodString;
        uniqueId: z.ZodString;
        receiverId: z.ZodString;
        receiverName: z.ZodString;
        roomId: z.ZodString;
        roomName: z.ZodString;
        senderId: z.ZodString;
        senderName: z.ZodString;
        senderDevice: z.ZodEnum<["unknown", "android", "ios", "desktop", "web"]>;
        chatType: z.ZodEnum<["text", "text", "image", "contact", "location", "document", "audio", "video", "protocol", "contactsArray", "highlyStructured", "sendPayment", "liveLocation", "requestPayment", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "templateButtonReply", "product", "deviceSent", "list", "viewOnce", "order", "listResponse", "ephemeral", "invoice", "buttons", "buttonsResponse", "paymentInvite", "interactive", "reaction", "sticker", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "document", "requestPhoneNumber", "viewOnce", "reaction", "text", "viewOnce", "pollCreation", "scheduledCallCreation", "groupMentioned", "pinInChat", "pollCreation", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "text", "text", "placeholder", "encEventUpdate"]>;
        timestamp: z.ZodNumber;
        mentions: z.ZodArray<z.ZodString, "many">;
        text: z.ZodNullable<z.ZodString>;
        links: z.ZodArray<z.ZodString, "many">;
        isPrefix: z.ZodBoolean;
        isSpam: z.ZodBoolean;
        isFromMe: z.ZodBoolean;
        isTagMe: z.ZodBoolean;
        isGroup: z.ZodBoolean;
        isStory: z.ZodBoolean;
        isViewOnce: z.ZodBoolean;
        isEdited: z.ZodBoolean;
        isDeleted: z.ZodBoolean;
        isPinned: z.ZodBoolean;
        isUnPinned: z.ZodBoolean;
        isChannel: z.ZodBoolean;
        isBroadcast: z.ZodBoolean;
        isEphemeral: z.ZodBoolean;
        isForwarded: z.ZodBoolean;
        citation: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
        media: z.ZodNullable<z.ZodObject<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough">>>;
        message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, "strip", z.ZodTypeAny, {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    }, {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectInputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    }>>;
}, "strip", z.ZodTypeAny, {
    channelId: string;
    uniqueId: string;
    message: (...args: unknown[]) => Record<string, any>;
    senderId: string;
    roomId: string;
    isGroup: boolean;
    text: string | null;
    chatId: string;
    receiverId: string;
    receiverName: string;
    roomName: string;
    senderName: string;
    senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
    chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
    timestamp: number;
    mentions: string[];
    links: string[];
    isPrefix: boolean;
    isSpam: boolean;
    isFromMe: boolean;
    isTagMe: boolean;
    isStory: boolean;
    isViewOnce: boolean;
    isEdited: boolean;
    isDeleted: boolean;
    isPinned: boolean;
    isUnPinned: boolean;
    isChannel: boolean;
    isBroadcast: boolean;
    isEphemeral: boolean;
    isForwarded: boolean;
    citation: Record<string, boolean> | null;
    media: z.objectOutputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
    }, z.ZodTypeAny, "passthrough"> | null;
    replied: {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    } | null;
}, {
    channelId: string;
    uniqueId: string;
    message: (...args: unknown[]) => Record<string, any>;
    senderId: string;
    roomId: string;
    isGroup: boolean;
    text: string | null;
    chatId: string;
    receiverId: string;
    receiverName: string;
    roomName: string;
    senderName: string;
    senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
    chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
    timestamp: number;
    mentions: string[];
    links: string[];
    isPrefix: boolean;
    isSpam: boolean;
    isFromMe: boolean;
    isTagMe: boolean;
    isStory: boolean;
    isViewOnce: boolean;
    isEdited: boolean;
    isDeleted: boolean;
    isPinned: boolean;
    isUnPinned: boolean;
    isChannel: boolean;
    isBroadcast: boolean;
    isEphemeral: boolean;
    isForwarded: boolean;
    citation: Record<string, boolean> | null;
    media: z.objectInputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
    }, z.ZodTypeAny, "passthrough"> | null;
    replied: {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectInputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    } | null;
}>;
type chatsAdapter = {
    getMessage: (chatId: string) => Promise<z.infer<typeof chatsGetMessage> | null>;
};

declare const llmMessagesTable: z.ZodObject<{
    channelId: z.ZodString;
    uniqueId: z.ZodString;
    model: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    role: z.ZodString;
    content: z.ZodString;
    additional: z.ZodNullable<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    channelId: string;
    uniqueId: string;
    role: string;
    content: string;
    model?: string | null | undefined;
    additional?: string | null | undefined;
}, {
    channelId: string;
    uniqueId: string;
    role: string;
    content: string;
    model?: string | null | undefined;
    additional?: string | null | undefined;
}>;
declare const llmPersonalizationTable: z.ZodObject<{
    uniqueId: z.ZodString;
    senderId: z.ZodString;
    content: z.ZodString;
}, "strip", z.ZodTypeAny, {
    uniqueId: string;
    content: string;
    senderId: string;
}, {
    uniqueId: string;
    content: string;
    senderId: string;
}>;
declare const llmRAGTable: z.ZodObject<{
    metadata: z.ZodDefault<z.ZodObject<{
        id: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string;
    }, {
        id?: string | undefined;
    }>>;
    pageContent: z.ZodString;
}, "strip", z.ZodTypeAny, {
    metadata: {
        id: string;
    };
    pageContent: string;
}, {
    pageContent: string;
    metadata?: {
        id?: string | undefined;
    } | undefined;
}>;
declare const addRAGType: z.ZodObject<Pick<{
    metadata: z.ZodDefault<z.ZodObject<{
        id: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string;
    }, {
        id?: string | undefined;
    }>>;
    pageContent: z.ZodString;
}, "pageContent">, "strip", z.ZodTypeAny, {
    pageContent: string;
}, {
    pageContent: string;
}>;
type llmsAdapter = {
    addCompletion: (props: z.infer<typeof llmMessagesTable>) => Promise<z.infer<typeof llmMessagesTable>>;
    deleteCompletion: (uniqueId: string) => Promise<boolean>;
    updateCompletion: (uniqueId: string, props: Partial<z.infer<typeof llmMessagesTable>>) => Promise<z.infer<typeof llmMessagesTable>>;
    clearCompletions: (channelId: string) => Promise<boolean>;
    getCompletion: (uniqueId: string) => Promise<z.infer<typeof llmMessagesTable> | null>;
    getCompletions: (channelId: string) => Promise<z.infer<typeof llmMessagesTable>[]>;
    addPersonalization: (props: z.infer<typeof llmPersonalizationTable>) => Promise<z.infer<typeof llmPersonalizationTable>>;
    deletePersonalization: (uniqueId: string) => Promise<boolean>;
    clearPersonalization: (senderId: string) => Promise<boolean>;
    getPersonalization: (senderId: string) => Promise<z.infer<typeof llmPersonalizationTable>[]>;
    addRAG: (props: z.infer<typeof addRAGType>) => Promise<z.infer<typeof llmRAGTable>>;
    deleteRAG: (id: string) => Promise<boolean>;
    updateRAG: (id: string) => Promise<z.infer<typeof llmRAGTable>>;
    clearRAGs: () => Promise<boolean>;
    getRAG: (id: string) => Promise<z.infer<typeof llmRAGTable> | null>;
    getRAGs: (keyword: string) => Promise<z.infer<typeof llmRAGTable>[]>;
};

declare const MediaInputWorkerType: z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>, z.ZodType<Readable, z.ZodTypeDef, Readable>]>]>;
declare const TextWorkerBaseType: z.ZodUnion<[z.ZodString, z.ZodObject<{
    image: z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>, z.ZodType<Readable, z.ZodTypeDef, Readable>]>]>;
    text: z.ZodOptional<z.ZodString>;
}, "strict", z.ZodTypeAny, {
    image: string | Buffer<ArrayBufferLike> | Readable;
    text?: string | undefined;
}, {
    image: string | Buffer<ArrayBufferLike> | Readable;
    text?: string | undefined;
}>, z.ZodObject<{
    video: z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>, z.ZodType<Readable, z.ZodTypeDef, Readable>]>]>;
    text: z.ZodOptional<z.ZodString>;
}, "strict", z.ZodTypeAny, {
    video: string | Buffer<ArrayBufferLike> | Readable;
    text?: string | undefined;
}, {
    video: string | Buffer<ArrayBufferLike> | Readable;
    text?: string | undefined;
}>, z.ZodObject<{
    note: z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>, z.ZodType<Readable, z.ZodTypeDef, Readable>]>]>;
}, "strict", z.ZodTypeAny, {
    note: string | Buffer<ArrayBufferLike> | Readable;
}, {
    note: string | Buffer<ArrayBufferLike> | Readable;
}>, z.ZodObject<{
    gif: z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>, z.ZodType<Readable, z.ZodTypeDef, Readable>]>]>;
    text: z.ZodOptional<z.ZodString>;
}, "strict", z.ZodTypeAny, {
    gif: string | Buffer<ArrayBufferLike> | Readable;
    text?: string | undefined;
}, {
    gif: string | Buffer<ArrayBufferLike> | Readable;
    text?: string | undefined;
}>, z.ZodObject<{
    audio: z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>, z.ZodType<Readable, z.ZodTypeDef, Readable>]>]>;
}, "strict", z.ZodTypeAny, {
    audio: string | Buffer<ArrayBufferLike> | Readable;
}, {
    audio: string | Buffer<ArrayBufferLike> | Readable;
}>, z.ZodObject<{
    voice: z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>, z.ZodType<Readable, z.ZodTypeDef, Readable>]>]>;
}, "strict", z.ZodTypeAny, {
    voice: string | Buffer<ArrayBufferLike> | Readable;
}, {
    voice: string | Buffer<ArrayBufferLike> | Readable;
}>, z.ZodObject<{
    sticker: z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>, z.ZodType<Readable, z.ZodTypeDef, Readable>]>]>;
}, "strict", z.ZodTypeAny, {
    sticker: string | Buffer<ArrayBufferLike> | Readable;
}, {
    sticker: string | Buffer<ArrayBufferLike> | Readable;
}>]>;
declare const TextWorkerOptionsType: z.ZodObject<{
    roomId: z.ZodString;
    asForwarded: z.ZodOptional<z.ZodBoolean>;
    asViewOnce: z.ZodOptional<z.ZodBoolean>;
    asAI: z.ZodOptional<z.ZodBoolean>;
    verifiedReply: z.ZodOptional<z.ZodEnum<["whatsapp", "meta", "chatgpt", "copilot", "instagram", "tiktok"]>>;
    quoted: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>>;
}, "strip", z.ZodTypeAny, {
    roomId: string;
    asForwarded?: boolean | undefined;
    asViewOnce?: boolean | undefined;
    asAI?: boolean | undefined;
    verifiedReply?: "whatsapp" | "meta" | "chatgpt" | "copilot" | "instagram" | "tiktok" | undefined;
    quoted?: ((...args: unknown[]) => Record<string, any>) | undefined;
}, {
    roomId: string;
    asForwarded?: boolean | undefined;
    asViewOnce?: boolean | undefined;
    asAI?: boolean | undefined;
    verifiedReply?: "whatsapp" | "meta" | "chatgpt" | "copilot" | "instagram" | "tiktok" | undefined;
    quoted?: ((...args: unknown[]) => Record<string, any>) | undefined;
}>;
declare const LocationWorkerOptionsType: z.ZodObject<{
    roomId: z.ZodString;
    asForwarded: z.ZodOptional<z.ZodBoolean>;
    asViewOnce: z.ZodOptional<z.ZodBoolean>;
    asAI: z.ZodOptional<z.ZodBoolean>;
    verifiedReply: z.ZodOptional<z.ZodEnum<["whatsapp", "meta", "chatgpt", "copilot", "instagram", "tiktok"]>>;
    quoted: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>>;
}, "strip", z.ZodTypeAny, {
    roomId: string;
    asForwarded?: boolean | undefined;
    asViewOnce?: boolean | undefined;
    asAI?: boolean | undefined;
    verifiedReply?: "whatsapp" | "meta" | "chatgpt" | "copilot" | "instagram" | "tiktok" | undefined;
    quoted?: ((...args: unknown[]) => Record<string, any>) | undefined;
}, {
    roomId: string;
    asForwarded?: boolean | undefined;
    asViewOnce?: boolean | undefined;
    asAI?: boolean | undefined;
    verifiedReply?: "whatsapp" | "meta" | "chatgpt" | "copilot" | "instagram" | "tiktok" | undefined;
    quoted?: ((...args: unknown[]) => Record<string, any>) | undefined;
}>;
declare const LocationWorkerBaseType: z.ZodObject<{
    latitude: z.ZodNumber;
    longitude: z.ZodNumber;
    title: z.ZodOptional<z.ZodString>;
    footer: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    latitude: number;
    longitude: number;
    title?: string | undefined;
    footer?: string | undefined;
}, {
    latitude: number;
    longitude: number;
    title?: string | undefined;
    footer?: string | undefined;
}>;
declare const ContactWorkerOptionsType: z.ZodObject<{
    roomId: z.ZodString;
    asForwarded: z.ZodOptional<z.ZodBoolean>;
    asViewOnce: z.ZodOptional<z.ZodBoolean>;
    asAI: z.ZodOptional<z.ZodBoolean>;
    verifiedReply: z.ZodOptional<z.ZodEnum<["whatsapp", "meta", "chatgpt", "copilot", "instagram", "tiktok"]>>;
    quoted: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>>;
}, "strip", z.ZodTypeAny, {
    roomId: string;
    asForwarded?: boolean | undefined;
    asViewOnce?: boolean | undefined;
    asAI?: boolean | undefined;
    verifiedReply?: "whatsapp" | "meta" | "chatgpt" | "copilot" | "instagram" | "tiktok" | undefined;
    quoted?: ((...args: unknown[]) => Record<string, any>) | undefined;
}, {
    roomId: string;
    asForwarded?: boolean | undefined;
    asViewOnce?: boolean | undefined;
    asAI?: boolean | undefined;
    verifiedReply?: "whatsapp" | "meta" | "chatgpt" | "copilot" | "instagram" | "tiktok" | undefined;
    quoted?: ((...args: unknown[]) => Record<string, any>) | undefined;
}>;
declare const ContactWorkerBaseType: z.ZodObject<{
    fullname: z.ZodString;
    nickname: z.ZodOptional<z.ZodString>;
    organization: z.ZodOptional<z.ZodString>;
    role: z.ZodOptional<z.ZodString>;
    email: z.ZodOptional<z.ZodString>;
    whatsAppNumber: z.ZodNumber;
    callNumber: z.ZodOptional<z.ZodNumber>;
    voiceNumber: z.ZodOptional<z.ZodNumber>;
    website: z.ZodOptional<z.ZodString>;
    homeAddress: z.ZodOptional<z.ZodString>;
    workAddress: z.ZodOptional<z.ZodString>;
    avatar: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    fullname: string;
    whatsAppNumber: number;
    role?: string | undefined;
    nickname?: string | undefined;
    organization?: string | undefined;
    email?: string | undefined;
    callNumber?: number | undefined;
    voiceNumber?: number | undefined;
    website?: string | undefined;
    homeAddress?: string | undefined;
    workAddress?: string | undefined;
    avatar?: string | undefined;
}, {
    fullname: string;
    whatsAppNumber: number;
    role?: string | undefined;
    nickname?: string | undefined;
    organization?: string | undefined;
    email?: string | undefined;
    callNumber?: number | undefined;
    voiceNumber?: number | undefined;
    website?: string | undefined;
    homeAddress?: string | undefined;
    workAddress?: string | undefined;
    avatar?: string | undefined;
}>;
declare const ReactionWorkerOptionsType: z.ZodObject<{
    message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
    message: (...args: unknown[]) => Record<string, any>;
}, {
    message: (...args: unknown[]) => Record<string, any>;
}>;
declare const ReactionWorkerBaseType: z.ZodString;
declare const PinWorkerOptionsType: z.ZodObject<{
    message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
    message: (...args: unknown[]) => Record<string, any>;
}, {
    message: (...args: unknown[]) => Record<string, any>;
}>;
declare const PinWorkerBaseType: z.ZodObject<{
    action: z.ZodEnum<["pin", "unpin"]>;
    expired: z.ZodEnum<["24h", "7d", "30d"]>;
}, "strip", z.ZodTypeAny, {
    action: "pin" | "unpin";
    expired: "24h" | "7d" | "30d";
}, {
    action: "pin" | "unpin";
    expired: "24h" | "7d" | "30d";
}>;
declare const PollWorkerOptionsType: z.ZodObject<Pick<{
    roomId: z.ZodString;
    asForwarded: z.ZodOptional<z.ZodBoolean>;
    asViewOnce: z.ZodOptional<z.ZodBoolean>;
    asAI: z.ZodOptional<z.ZodBoolean>;
    verifiedReply: z.ZodOptional<z.ZodEnum<["whatsapp", "meta", "chatgpt", "copilot", "instagram", "tiktok"]>>;
    quoted: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>>;
}, "roomId">, "strip", z.ZodTypeAny, {
    roomId: string;
}, {
    roomId: string;
}>;
declare const PollWorkerBaseType: z.ZodObject<{
    name: z.ZodString;
    answers: z.ZodArray<z.ZodString, "many">;
    multipleAnswers: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    name: string;
    answers: string[];
    multipleAnswers?: boolean | undefined;
}, {
    name: string;
    answers: string[];
    multipleAnswers?: boolean | undefined;
}>;
declare const EditWorkerOptionsType: z.ZodObject<{
    message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
    message: (...args: unknown[]) => Record<string, any>;
}, {
    message: (...args: unknown[]) => Record<string, any>;
}>;
declare const EditWorkerBaseType: z.ZodString;
declare const DeleteWorkerBaseType: z.ZodObject<{
    message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
    message: (...args: unknown[]) => Record<string, any>;
}, {
    message: (...args: unknown[]) => Record<string, any>;
}>;
declare const RejectCallWorkerBaseType: z.ZodObject<{
    callId: z.ZodString;
    callerId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    callId: string;
    callerId: string;
}, {
    callId: string;
    callerId: string;
}>;
declare const MuteWorkerOptionsType: z.ZodObject<Pick<{
    roomId: z.ZodString;
    asForwarded: z.ZodOptional<z.ZodBoolean>;
    asViewOnce: z.ZodOptional<z.ZodBoolean>;
    asAI: z.ZodOptional<z.ZodBoolean>;
    verifiedReply: z.ZodOptional<z.ZodEnum<["whatsapp", "meta", "chatgpt", "copilot", "instagram", "tiktok"]>>;
    quoted: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>>;
}, "roomId">, "strip", z.ZodTypeAny, {
    roomId: string;
}, {
    roomId: string;
}>;
declare const MuteWorkerBaseType: z.ZodObject<{
    expired: z.ZodEnum<["remove", "8h", "7d"]>;
}, "strip", z.ZodTypeAny, {
    expired: "7d" | "remove" | "8h";
}, {
    expired: "7d" | "remove" | "8h";
}>;
declare const ProfileWorkerBaseType: z.ZodString;
declare const ProfileWorkerBaseOutputType: z.ZodObject<{
    type: z.ZodEnum<["group", "user"]>;
    id: z.ZodString;
    name: z.ZodString;
    bio: z.ZodString;
    avatar: z.ZodString;
    ephemeralDuration: z.ZodOptional<z.ZodNumber>;
    isRestrict: z.ZodOptional<z.ZodBoolean>;
    isAnnounce: z.ZodOptional<z.ZodBoolean>;
    isCommunity: z.ZodOptional<z.ZodBoolean>;
    isCommunityAnnounce: z.ZodOptional<z.ZodBoolean>;
    isJoinApprovalMode: z.ZodOptional<z.ZodBoolean>;
    isMemberAddMode: z.ZodOptional<z.ZodBoolean>;
    owner: z.ZodNullable<z.ZodObject<{
        type: z.ZodLiteral<"user">;
        id: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "user";
        id: string;
    }, {
        type: "user";
        id: string;
    }>>;
    roomCreatedAt: z.ZodOptional<z.ZodNumber>;
    nameUpdatedAt: z.ZodOptional<z.ZodNumber>;
    bioUpdatedAt: z.ZodOptional<z.ZodNumber>;
    membersLength: z.ZodOptional<z.ZodNumber>;
    members: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodEnum<["user", "admin", "superadmin"]>;
        id: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "user" | "admin" | "superadmin";
        id: string;
    }, {
        type: "user" | "admin" | "superadmin";
        id: string;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    type: "user" | "group";
    id: string;
    name: string;
    owner: {
        type: "user";
        id: string;
    } | null;
    avatar: string;
    bio: string;
    isCommunity?: boolean | undefined;
    isCommunityAnnounce?: boolean | undefined;
    ephemeralDuration?: number | undefined;
    isRestrict?: boolean | undefined;
    isAnnounce?: boolean | undefined;
    isJoinApprovalMode?: boolean | undefined;
    isMemberAddMode?: boolean | undefined;
    roomCreatedAt?: number | undefined;
    nameUpdatedAt?: number | undefined;
    bioUpdatedAt?: number | undefined;
    membersLength?: number | undefined;
    members?: {
        type: "user" | "admin" | "superadmin";
        id: string;
    }[] | undefined;
}, {
    type: "user" | "group";
    id: string;
    name: string;
    owner: {
        type: "user";
        id: string;
    } | null;
    avatar: string;
    bio: string;
    isCommunity?: boolean | undefined;
    isCommunityAnnounce?: boolean | undefined;
    ephemeralDuration?: number | undefined;
    isRestrict?: boolean | undefined;
    isAnnounce?: boolean | undefined;
    isJoinApprovalMode?: boolean | undefined;
    isMemberAddMode?: boolean | undefined;
    roomCreatedAt?: number | undefined;
    nameUpdatedAt?: number | undefined;
    bioUpdatedAt?: number | undefined;
    membersLength?: number | undefined;
    members?: {
        type: "user" | "admin" | "superadmin";
        id: string;
    }[] | undefined;
}>;
declare const PresenceWorkerOptionsType: z.ZodObject<Pick<{
    roomId: z.ZodString;
    asForwarded: z.ZodOptional<z.ZodBoolean>;
    asViewOnce: z.ZodOptional<z.ZodBoolean>;
    asAI: z.ZodOptional<z.ZodBoolean>;
    verifiedReply: z.ZodOptional<z.ZodEnum<["whatsapp", "meta", "chatgpt", "copilot", "instagram", "tiktok"]>>;
    quoted: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>>;
}, "roomId">, "strip", z.ZodTypeAny, {
    roomId: string;
}, {
    roomId: string;
}>;
declare const PresenceWorkerBaseType: z.ZodEnum<["typing", "recording", "online", "offline", "paused"]>;

declare class Worker {
    private wa;
    private parser;
    private caching;
    constructor(wa: {
        client: Client;
        db: Client["db"];
        socket: Client["socket"];
    });
    private sendMessage;
    text(input: z.infer<typeof TextWorkerBaseType>, options: z.infer<typeof TextWorkerOptionsType>): Promise<{
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
        replied: {
            channelId: string;
            uniqueId: string;
            message: (...args: unknown[]) => Record<string, any>;
            senderId: string;
            roomId: string;
            isGroup: boolean;
            text: string | null;
            chatId: string;
            receiverId: string;
            receiverName: string;
            roomName: string;
            senderName: string;
            senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
            chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
            timestamp: number;
            mentions: string[];
            links: string[];
            isPrefix: boolean;
            isSpam: boolean;
            isFromMe: boolean;
            isTagMe: boolean;
            isStory: boolean;
            isViewOnce: boolean;
            isEdited: boolean;
            isDeleted: boolean;
            isPinned: boolean;
            isUnPinned: boolean;
            isChannel: boolean;
            isBroadcast: boolean;
            isEphemeral: boolean;
            isForwarded: boolean;
            citation: Record<string, boolean> | null;
            media: z.objectOutputType<{
                buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
                stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
            }, z.ZodTypeAny, "passthrough"> | null;
        } | null;
    } | null>;
    location(loc: z.infer<typeof LocationWorkerBaseType>, options: z.infer<typeof LocationWorkerOptionsType>): Promise<{
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
        replied: {
            channelId: string;
            uniqueId: string;
            message: (...args: unknown[]) => Record<string, any>;
            senderId: string;
            roomId: string;
            isGroup: boolean;
            text: string | null;
            chatId: string;
            receiverId: string;
            receiverName: string;
            roomName: string;
            senderName: string;
            senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
            chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
            timestamp: number;
            mentions: string[];
            links: string[];
            isPrefix: boolean;
            isSpam: boolean;
            isFromMe: boolean;
            isTagMe: boolean;
            isStory: boolean;
            isViewOnce: boolean;
            isEdited: boolean;
            isDeleted: boolean;
            isPinned: boolean;
            isUnPinned: boolean;
            isChannel: boolean;
            isBroadcast: boolean;
            isEphemeral: boolean;
            isForwarded: boolean;
            citation: Record<string, boolean> | null;
            media: z.objectOutputType<{
                buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
                stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
            }, z.ZodTypeAny, "passthrough"> | null;
        } | null;
    } | null>;
    contact(vcard: z.infer<typeof ContactWorkerBaseType>, options: z.infer<typeof ContactWorkerOptionsType>): Promise<{
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
        replied: {
            channelId: string;
            uniqueId: string;
            message: (...args: unknown[]) => Record<string, any>;
            senderId: string;
            roomId: string;
            isGroup: boolean;
            text: string | null;
            chatId: string;
            receiverId: string;
            receiverName: string;
            roomName: string;
            senderName: string;
            senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
            chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
            timestamp: number;
            mentions: string[];
            links: string[];
            isPrefix: boolean;
            isSpam: boolean;
            isFromMe: boolean;
            isTagMe: boolean;
            isStory: boolean;
            isViewOnce: boolean;
            isEdited: boolean;
            isDeleted: boolean;
            isPinned: boolean;
            isUnPinned: boolean;
            isChannel: boolean;
            isBroadcast: boolean;
            isEphemeral: boolean;
            isForwarded: boolean;
            citation: Record<string, boolean> | null;
            media: z.objectOutputType<{
                buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
                stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
            }, z.ZodTypeAny, "passthrough"> | null;
        } | null;
    } | null>;
    reaction(emoticon: z.infer<typeof ReactionWorkerBaseType>, options: z.infer<typeof ReactionWorkerOptionsType>): Promise<{
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
        replied: {
            channelId: string;
            uniqueId: string;
            message: (...args: unknown[]) => Record<string, any>;
            senderId: string;
            roomId: string;
            isGroup: boolean;
            text: string | null;
            chatId: string;
            receiverId: string;
            receiverName: string;
            roomName: string;
            senderName: string;
            senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
            chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
            timestamp: number;
            mentions: string[];
            links: string[];
            isPrefix: boolean;
            isSpam: boolean;
            isFromMe: boolean;
            isTagMe: boolean;
            isStory: boolean;
            isViewOnce: boolean;
            isEdited: boolean;
            isDeleted: boolean;
            isPinned: boolean;
            isUnPinned: boolean;
            isChannel: boolean;
            isBroadcast: boolean;
            isEphemeral: boolean;
            isForwarded: boolean;
            citation: Record<string, boolean> | null;
            media: z.objectOutputType<{
                buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
                stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
            }, z.ZodTypeAny, "passthrough"> | null;
        } | null;
    } | null>;
    pin(pin: z.infer<typeof PinWorkerBaseType>, options: z.infer<typeof PinWorkerOptionsType>): Promise<{
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
        replied: {
            channelId: string;
            uniqueId: string;
            message: (...args: unknown[]) => Record<string, any>;
            senderId: string;
            roomId: string;
            isGroup: boolean;
            text: string | null;
            chatId: string;
            receiverId: string;
            receiverName: string;
            roomName: string;
            senderName: string;
            senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
            chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
            timestamp: number;
            mentions: string[];
            links: string[];
            isPrefix: boolean;
            isSpam: boolean;
            isFromMe: boolean;
            isTagMe: boolean;
            isStory: boolean;
            isViewOnce: boolean;
            isEdited: boolean;
            isDeleted: boolean;
            isPinned: boolean;
            isUnPinned: boolean;
            isChannel: boolean;
            isBroadcast: boolean;
            isEphemeral: boolean;
            isForwarded: boolean;
            citation: Record<string, boolean> | null;
            media: z.objectOutputType<{
                buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
                stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
            }, z.ZodTypeAny, "passthrough"> | null;
        } | null;
    } | null>;
    poll(poll: z.infer<typeof PollWorkerBaseType>, options: z.infer<typeof PollWorkerOptionsType>): Promise<{
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
        replied: {
            channelId: string;
            uniqueId: string;
            message: (...args: unknown[]) => Record<string, any>;
            senderId: string;
            roomId: string;
            isGroup: boolean;
            text: string | null;
            chatId: string;
            receiverId: string;
            receiverName: string;
            roomName: string;
            senderName: string;
            senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
            chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
            timestamp: number;
            mentions: string[];
            links: string[];
            isPrefix: boolean;
            isSpam: boolean;
            isFromMe: boolean;
            isTagMe: boolean;
            isStory: boolean;
            isViewOnce: boolean;
            isEdited: boolean;
            isDeleted: boolean;
            isPinned: boolean;
            isUnPinned: boolean;
            isChannel: boolean;
            isBroadcast: boolean;
            isEphemeral: boolean;
            isForwarded: boolean;
            citation: Record<string, boolean> | null;
            media: z.objectOutputType<{
                buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
                stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
            }, z.ZodTypeAny, "passthrough"> | null;
        } | null;
    } | null>;
    edit(text: z.infer<typeof EditWorkerBaseType>, options: z.infer<typeof EditWorkerOptionsType>): Promise<{
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
        replied: {
            channelId: string;
            uniqueId: string;
            message: (...args: unknown[]) => Record<string, any>;
            senderId: string;
            roomId: string;
            isGroup: boolean;
            text: string | null;
            chatId: string;
            receiverId: string;
            receiverName: string;
            roomName: string;
            senderName: string;
            senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
            chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
            timestamp: number;
            mentions: string[];
            links: string[];
            isPrefix: boolean;
            isSpam: boolean;
            isFromMe: boolean;
            isTagMe: boolean;
            isStory: boolean;
            isViewOnce: boolean;
            isEdited: boolean;
            isDeleted: boolean;
            isPinned: boolean;
            isUnPinned: boolean;
            isChannel: boolean;
            isBroadcast: boolean;
            isEphemeral: boolean;
            isForwarded: boolean;
            citation: Record<string, boolean> | null;
            media: z.objectOutputType<{
                buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
                stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
            }, z.ZodTypeAny, "passthrough"> | null;
        } | null;
    } | null>;
    delete(del: z.infer<typeof DeleteWorkerBaseType>): Promise<{
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
        replied: {
            channelId: string;
            uniqueId: string;
            message: (...args: unknown[]) => Record<string, any>;
            senderId: string;
            roomId: string;
            isGroup: boolean;
            text: string | null;
            chatId: string;
            receiverId: string;
            receiverName: string;
            roomName: string;
            senderName: string;
            senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
            chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
            timestamp: number;
            mentions: string[];
            links: string[];
            isPrefix: boolean;
            isSpam: boolean;
            isFromMe: boolean;
            isTagMe: boolean;
            isStory: boolean;
            isViewOnce: boolean;
            isEdited: boolean;
            isDeleted: boolean;
            isPinned: boolean;
            isUnPinned: boolean;
            isChannel: boolean;
            isBroadcast: boolean;
            isEphemeral: boolean;
            isForwarded: boolean;
            citation: Record<string, boolean> | null;
            media: z.objectOutputType<{
                buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
                stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<stream.Readable, z.ZodTypeDef, stream.Readable>>;
            }, z.ZodTypeAny, "passthrough"> | null;
        } | null;
    } | null>;
    rejectCall(call: z.infer<typeof RejectCallWorkerBaseType>): Promise<void | undefined>;
    mute(mute: z.infer<typeof MuteWorkerBaseType>, options: z.infer<typeof MuteWorkerOptionsType>): Promise<void | undefined>;
    profile(roomId: z.infer<typeof ProfileWorkerBaseType>): Promise<z.infer<typeof ProfileWorkerBaseOutputType> | null>;
    presence(action: z.infer<typeof PresenceWorkerBaseType>, options: z.infer<typeof PresenceWorkerOptionsType>): Promise<void | undefined>;
    private addCompletion;
    private deleteCompletion;
    private updateCompletion;
    private clearCompletions;
    private getCompletion;
    private getCompletions;
    private addPersonalization;
    private deletePersonalization;
    private clearPersonalization;
    private getPersonalization;
    private addRAG;
    private deleteRAG;
    private updateRAG;
    private clearRAGs;
    private getRAG;
    private getRAGs;
    private getMessage;
    llms: llmsAdapter;
    chats: chatsAdapter;
}

declare class Client {
    private props;
    options: z.infer<typeof ClientClassesType>;
    cache: NodeCache;
    private chatId;
    private logger;
    private db;
    private socket;
    private events;
    private spinners;
    private worker;
    constructor(props: z.input<typeof ClientClassesType>);
    initialize(): Promise<void>;
    startSpinner(key: string, message: string): Ora;
    stopSpinner(key: string, succeed: boolean, message?: string): void;
    failSpinner(key: string, message?: string): void;
    on<T extends EventEnumType>(event: T, handler: EventCallbackType[T]): void;
    emit<T extends EventEnumType>(event: T, ...args: Parameters<EventCallbackType[T]>): void;
}
interface Client extends Worker {
}

declare const CallsParserBaseType: z.ZodObject<{
    callId: z.ZodString;
    roomId: z.ZodString;
    callerId: z.ZodString;
    date: z.ZodDate;
    offline: z.ZodBoolean;
    status: z.ZodEnum<["accept", "offer", "reject", "ringing", "terminate", "timeout"]>;
    isVideo: z.ZodBoolean;
    isGroup: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    status: "accept" | "offer" | "reject" | "ringing" | "terminate" | "timeout";
    callId: string;
    roomId: string;
    callerId: string;
    date: Date;
    offline: boolean;
    isVideo: boolean;
    isGroup: boolean;
}, {
    status: "accept" | "offer" | "reject" | "ringing" | "terminate" | "timeout";
    callId: string;
    roomId: string;
    callerId: string;
    date: Date;
    offline: boolean;
    isVideo: boolean;
    isGroup: boolean;
}>;

declare const MessagesMediaType: {
    readonly text: "text";
    readonly conversation: "text";
    readonly imageMessage: "image";
    readonly contactMessage: "contact";
    readonly locationMessage: "location";
    readonly documentMessage: "document";
    readonly audioMessage: "audio";
    readonly videoMessage: "video";
    readonly protocolMessage: "protocol";
    readonly contactsArrayMessage: "contactsArray";
    readonly highlyStructuredMessage: "highlyStructured";
    readonly sendPaymentMessage: "sendPayment";
    readonly liveLocationMessage: "liveLocation";
    readonly requestPaymentMessage: "requestPayment";
    readonly declinePaymentRequestMessage: "declinePaymentRequest";
    readonly cancelPaymentRequestMessage: "cancelPaymentRequest";
    readonly templateMessage: "template";
    readonly stickerMessage: "sticker";
    readonly groupInviteMessage: "groupInvite";
    readonly templateButtonReplyMessage: "templateButtonReply";
    readonly productMessage: "product";
    readonly deviceSentMessage: "deviceSent";
    readonly listMessage: "list";
    readonly viewOnceMessage: "viewOnce";
    readonly orderMessage: "order";
    readonly listResponseMessage: "listResponse";
    readonly ephemeralMessage: "ephemeral";
    readonly invoiceMessage: "invoice";
    readonly buttonsMessage: "buttons";
    readonly buttonsResponseMessage: "buttonsResponse";
    readonly paymentInviteMessage: "paymentInvite";
    readonly interactiveMessage: "interactive";
    readonly reactionMessage: "reaction";
    readonly stickerSyncRmrMessage: "sticker";
    readonly interactiveResponseMessage: "interactiveResponse";
    readonly pollCreationMessage: "pollCreation";
    readonly pollUpdateMessage: "pollUpdate";
    readonly keepInChatMessage: "keepInChat";
    readonly documentWithCaptionMessage: "document";
    readonly requestPhoneNumberMessage: "requestPhoneNumber";
    readonly viewOnceMessageV2: "viewOnce";
    readonly encReactionMessage: "reaction";
    readonly editedMessage: "text";
    readonly viewOnceMessageV2Extension: "viewOnce";
    readonly pollCreationMessageV2: "pollCreation";
    readonly scheduledCallCreationMessage: "scheduledCallCreation";
    readonly groupMentionedMessage: "groupMentioned";
    readonly pinInChatMessage: "pinInChat";
    readonly pollCreationMessageV3: "pollCreation";
    readonly scheduledCallEditMessage: "scheduledCallEdit";
    readonly ptvMessage: "ptv";
    readonly botInvokeMessage: "botInvoke";
    readonly callLogMesssage: "callLog";
    readonly encCommentMessage: "encComment";
    readonly bcallMessage: "bcall";
    readonly lottieStickerMessage: "lottieSticker";
    readonly eventMessage: "event";
    readonly commentMessage: "comment";
    readonly newsletterAdminInviteMessage: "text";
    readonly extendedTextMessageWithParentKey: "text";
    readonly extendedTextMessage: "text";
    readonly placeholderMessage: "placeholder";
    readonly encEventUpdateMessage: "encEventUpdate";
};
declare const MessagesVerifiedPlatformType: {
    readonly whatsapp: "0@s.whatsapp.net";
    readonly meta: "13135550002@s.whatsapp.net";
    readonly chatgpt: "18002428478@s.whatsapp.net";
    readonly copilot: "18772241042@s.whatsapp.net";
    readonly instagram: "447723442971@s.whatsapp.net";
    readonly tiktok: "6285574670498@s.whatsapp.net";
};
declare const MessagesEnumType: z.ZodEnum<["text", "text", "image", "contact", "location", "document", "audio", "video", "protocol", "contactsArray", "highlyStructured", "sendPayment", "liveLocation", "requestPayment", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "templateButtonReply", "product", "deviceSent", "list", "viewOnce", "order", "listResponse", "ephemeral", "invoice", "buttons", "buttonsResponse", "paymentInvite", "interactive", "reaction", "sticker", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "document", "requestPhoneNumber", "viewOnce", "reaction", "text", "viewOnce", "pollCreation", "scheduledCallCreation", "groupMentioned", "pinInChat", "pollCreation", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "text", "text", "placeholder", "encEventUpdate"]>;
declare const MessagesDeviceEnumType: z.ZodEnum<["unknown", "android", "ios", "desktop", "web"]>;
declare const MessagesParserBaseType: z.ZodObject<{
    chatId: z.ZodString;
    channelId: z.ZodString;
    uniqueId: z.ZodString;
    receiverId: z.ZodString;
    receiverName: z.ZodString;
    roomId: z.ZodString;
    roomName: z.ZodString;
    senderId: z.ZodString;
    senderName: z.ZodString;
    senderDevice: z.ZodEnum<["unknown", "android", "ios", "desktop", "web"]>;
    chatType: z.ZodEnum<["text", "text", "image", "contact", "location", "document", "audio", "video", "protocol", "contactsArray", "highlyStructured", "sendPayment", "liveLocation", "requestPayment", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "templateButtonReply", "product", "deviceSent", "list", "viewOnce", "order", "listResponse", "ephemeral", "invoice", "buttons", "buttonsResponse", "paymentInvite", "interactive", "reaction", "sticker", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "document", "requestPhoneNumber", "viewOnce", "reaction", "text", "viewOnce", "pollCreation", "scheduledCallCreation", "groupMentioned", "pinInChat", "pollCreation", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "text", "text", "placeholder", "encEventUpdate"]>;
    timestamp: z.ZodNumber;
    mentions: z.ZodArray<z.ZodString, "many">;
    text: z.ZodNullable<z.ZodString>;
    links: z.ZodArray<z.ZodString, "many">;
    isPrefix: z.ZodBoolean;
    isSpam: z.ZodBoolean;
    isFromMe: z.ZodBoolean;
    isTagMe: z.ZodBoolean;
    isGroup: z.ZodBoolean;
    isStory: z.ZodBoolean;
    isViewOnce: z.ZodBoolean;
    isEdited: z.ZodBoolean;
    isDeleted: z.ZodBoolean;
    isPinned: z.ZodBoolean;
    isUnPinned: z.ZodBoolean;
    isChannel: z.ZodBoolean;
    isBroadcast: z.ZodBoolean;
    isEphemeral: z.ZodBoolean;
    isForwarded: z.ZodBoolean;
    citation: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
    media: z.ZodNullable<z.ZodObject<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
    }, z.ZodTypeAny, "passthrough">>>;
    message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
    channelId: string;
    uniqueId: string;
    message: (...args: unknown[]) => Record<string, any>;
    senderId: string;
    roomId: string;
    isGroup: boolean;
    text: string | null;
    chatId: string;
    receiverId: string;
    receiverName: string;
    roomName: string;
    senderName: string;
    senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
    chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
    timestamp: number;
    mentions: string[];
    links: string[];
    isPrefix: boolean;
    isSpam: boolean;
    isFromMe: boolean;
    isTagMe: boolean;
    isStory: boolean;
    isViewOnce: boolean;
    isEdited: boolean;
    isDeleted: boolean;
    isPinned: boolean;
    isUnPinned: boolean;
    isChannel: boolean;
    isBroadcast: boolean;
    isEphemeral: boolean;
    isForwarded: boolean;
    citation: Record<string, boolean> | null;
    media: z.objectOutputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
    }, z.ZodTypeAny, "passthrough"> | null;
}, {
    channelId: string;
    uniqueId: string;
    message: (...args: unknown[]) => Record<string, any>;
    senderId: string;
    roomId: string;
    isGroup: boolean;
    text: string | null;
    chatId: string;
    receiverId: string;
    receiverName: string;
    roomName: string;
    senderName: string;
    senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
    chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
    timestamp: number;
    mentions: string[];
    links: string[];
    isPrefix: boolean;
    isSpam: boolean;
    isFromMe: boolean;
    isTagMe: boolean;
    isStory: boolean;
    isViewOnce: boolean;
    isEdited: boolean;
    isDeleted: boolean;
    isPinned: boolean;
    isUnPinned: boolean;
    isChannel: boolean;
    isBroadcast: boolean;
    isEphemeral: boolean;
    isForwarded: boolean;
    citation: Record<string, boolean> | null;
    media: z.objectInputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
    }, z.ZodTypeAny, "passthrough"> | null;
}>;
declare const MessagesParserType: z.ZodObject<{
    chatId: z.ZodString;
    channelId: z.ZodString;
    uniqueId: z.ZodString;
    receiverId: z.ZodString;
    receiverName: z.ZodString;
    roomId: z.ZodString;
    roomName: z.ZodString;
    senderId: z.ZodString;
    senderName: z.ZodString;
    senderDevice: z.ZodEnum<["unknown", "android", "ios", "desktop", "web"]>;
    chatType: z.ZodEnum<["text", "text", "image", "contact", "location", "document", "audio", "video", "protocol", "contactsArray", "highlyStructured", "sendPayment", "liveLocation", "requestPayment", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "templateButtonReply", "product", "deviceSent", "list", "viewOnce", "order", "listResponse", "ephemeral", "invoice", "buttons", "buttonsResponse", "paymentInvite", "interactive", "reaction", "sticker", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "document", "requestPhoneNumber", "viewOnce", "reaction", "text", "viewOnce", "pollCreation", "scheduledCallCreation", "groupMentioned", "pinInChat", "pollCreation", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "text", "text", "placeholder", "encEventUpdate"]>;
    timestamp: z.ZodNumber;
    mentions: z.ZodArray<z.ZodString, "many">;
    text: z.ZodNullable<z.ZodString>;
    links: z.ZodArray<z.ZodString, "many">;
    isPrefix: z.ZodBoolean;
    isSpam: z.ZodBoolean;
    isFromMe: z.ZodBoolean;
    isTagMe: z.ZodBoolean;
    isGroup: z.ZodBoolean;
    isStory: z.ZodBoolean;
    isViewOnce: z.ZodBoolean;
    isEdited: z.ZodBoolean;
    isDeleted: z.ZodBoolean;
    isPinned: z.ZodBoolean;
    isUnPinned: z.ZodBoolean;
    isChannel: z.ZodBoolean;
    isBroadcast: z.ZodBoolean;
    isEphemeral: z.ZodBoolean;
    isForwarded: z.ZodBoolean;
    citation: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
    media: z.ZodNullable<z.ZodObject<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
    }, z.ZodTypeAny, "passthrough">>>;
    message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
} & {
    replied: z.ZodNullable<z.ZodObject<{
        chatId: z.ZodString;
        channelId: z.ZodString;
        uniqueId: z.ZodString;
        receiverId: z.ZodString;
        receiverName: z.ZodString;
        roomId: z.ZodString;
        roomName: z.ZodString;
        senderId: z.ZodString;
        senderName: z.ZodString;
        senderDevice: z.ZodEnum<["unknown", "android", "ios", "desktop", "web"]>;
        chatType: z.ZodEnum<["text", "text", "image", "contact", "location", "document", "audio", "video", "protocol", "contactsArray", "highlyStructured", "sendPayment", "liveLocation", "requestPayment", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "templateButtonReply", "product", "deviceSent", "list", "viewOnce", "order", "listResponse", "ephemeral", "invoice", "buttons", "buttonsResponse", "paymentInvite", "interactive", "reaction", "sticker", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "document", "requestPhoneNumber", "viewOnce", "reaction", "text", "viewOnce", "pollCreation", "scheduledCallCreation", "groupMentioned", "pinInChat", "pollCreation", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "text", "text", "placeholder", "encEventUpdate"]>;
        timestamp: z.ZodNumber;
        mentions: z.ZodArray<z.ZodString, "many">;
        text: z.ZodNullable<z.ZodString>;
        links: z.ZodArray<z.ZodString, "many">;
        isPrefix: z.ZodBoolean;
        isSpam: z.ZodBoolean;
        isFromMe: z.ZodBoolean;
        isTagMe: z.ZodBoolean;
        isGroup: z.ZodBoolean;
        isStory: z.ZodBoolean;
        isViewOnce: z.ZodBoolean;
        isEdited: z.ZodBoolean;
        isDeleted: z.ZodBoolean;
        isPinned: z.ZodBoolean;
        isUnPinned: z.ZodBoolean;
        isChannel: z.ZodBoolean;
        isBroadcast: z.ZodBoolean;
        isEphemeral: z.ZodBoolean;
        isForwarded: z.ZodBoolean;
        citation: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
        media: z.ZodNullable<z.ZodObject<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
        }, z.ZodTypeAny, "passthrough">>>;
        message: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, "strip", z.ZodTypeAny, {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    }, {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectInputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    }>>;
}, "strip", z.ZodTypeAny, {
    channelId: string;
    uniqueId: string;
    message: (...args: unknown[]) => Record<string, any>;
    senderId: string;
    roomId: string;
    isGroup: boolean;
    text: string | null;
    chatId: string;
    receiverId: string;
    receiverName: string;
    roomName: string;
    senderName: string;
    senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
    chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
    timestamp: number;
    mentions: string[];
    links: string[];
    isPrefix: boolean;
    isSpam: boolean;
    isFromMe: boolean;
    isTagMe: boolean;
    isStory: boolean;
    isViewOnce: boolean;
    isEdited: boolean;
    isDeleted: boolean;
    isPinned: boolean;
    isUnPinned: boolean;
    isChannel: boolean;
    isBroadcast: boolean;
    isEphemeral: boolean;
    isForwarded: boolean;
    citation: Record<string, boolean> | null;
    media: z.objectOutputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
    }, z.ZodTypeAny, "passthrough"> | null;
    replied: {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectOutputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    } | null;
}, {
    channelId: string;
    uniqueId: string;
    message: (...args: unknown[]) => Record<string, any>;
    senderId: string;
    roomId: string;
    isGroup: boolean;
    text: string | null;
    chatId: string;
    receiverId: string;
    receiverName: string;
    roomName: string;
    senderName: string;
    senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
    chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
    timestamp: number;
    mentions: string[];
    links: string[];
    isPrefix: boolean;
    isSpam: boolean;
    isFromMe: boolean;
    isTagMe: boolean;
    isStory: boolean;
    isViewOnce: boolean;
    isEdited: boolean;
    isDeleted: boolean;
    isPinned: boolean;
    isUnPinned: boolean;
    isChannel: boolean;
    isBroadcast: boolean;
    isEphemeral: boolean;
    isForwarded: boolean;
    citation: Record<string, boolean> | null;
    media: z.objectInputType<{
        buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
        stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
    }, z.ZodTypeAny, "passthrough"> | null;
    replied: {
        channelId: string;
        uniqueId: string;
        message: (...args: unknown[]) => Record<string, any>;
        senderId: string;
        roomId: string;
        isGroup: boolean;
        text: string | null;
        chatId: string;
        receiverId: string;
        receiverName: string;
        roomName: string;
        senderName: string;
        senderDevice: "unknown" | "android" | "ios" | "desktop" | "web";
        chatType: "text" | "image" | "contact" | "location" | "document" | "audio" | "video" | "protocol" | "contactsArray" | "highlyStructured" | "sendPayment" | "liveLocation" | "requestPayment" | "declinePaymentRequest" | "cancelPaymentRequest" | "template" | "sticker" | "groupInvite" | "templateButtonReply" | "product" | "deviceSent" | "list" | "viewOnce" | "order" | "listResponse" | "ephemeral" | "invoice" | "buttons" | "buttonsResponse" | "paymentInvite" | "interactive" | "reaction" | "interactiveResponse" | "pollCreation" | "pollUpdate" | "keepInChat" | "requestPhoneNumber" | "scheduledCallCreation" | "groupMentioned" | "pinInChat" | "scheduledCallEdit" | "ptv" | "botInvoke" | "callLog" | "encComment" | "bcall" | "lottieSticker" | "event" | "comment" | "placeholder" | "encEventUpdate";
        timestamp: number;
        mentions: string[];
        links: string[];
        isPrefix: boolean;
        isSpam: boolean;
        isFromMe: boolean;
        isTagMe: boolean;
        isStory: boolean;
        isViewOnce: boolean;
        isEdited: boolean;
        isDeleted: boolean;
        isPinned: boolean;
        isUnPinned: boolean;
        isChannel: boolean;
        isBroadcast: boolean;
        isEphemeral: boolean;
        isForwarded: boolean;
        citation: Record<string, boolean> | null;
        media: z.objectInputType<{
            buffer: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>>;
            stream: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodType<Readable, z.ZodTypeDef, Readable>>;
        }, z.ZodTypeAny, "passthrough"> | null;
    } | null;
}>;

export { AdapterDatabaseType, CallsParserBaseType, CitationType, Client, ClientClassesBaseType, ClientClassesType, ContactWorkerBaseType, ContactWorkerOptionsType, DeleteWorkerBaseType, EditWorkerBaseType, EditWorkerOptionsType, type EventCallbackType, EventEnumType, LocationWorkerBaseType, LocationWorkerOptionsType, MediaInputWorkerType, MessagesDeviceEnumType, MessagesEnumType, MessagesMediaType, MessagesParserBaseType, MessagesParserType, MessagesVerifiedPlatformType, MuteWorkerBaseType, MuteWorkerOptionsType, PinWorkerBaseType, PinWorkerOptionsType, PollWorkerBaseType, PollWorkerOptionsType, PresenceWorkerBaseType, PresenceWorkerOptionsType, ProfileWorkerBaseOutputType, ProfileWorkerBaseType, ReactionWorkerBaseType, ReactionWorkerOptionsType, RejectCallWorkerBaseType, TextWorkerBaseType, TextWorkerOptionsType, addRAGType, llmMessagesTable, llmPersonalizationTable, llmRAGTable, type llmsAdapter };
