import * as baileys from 'baileys';
import baileys__default, { AuthenticationState, WAMessage, proto, ParticipantAction, WAPrivacyValue, WAPrivacyOnlineValue, WAReadReceiptsValue, WAPrivacyGroupAddValue } from 'baileys';
import * as v from 'valibot';
import pino from 'pino';
import Stream from 'stream';
export * from '@zaileys/media-process';

declare const useAuthState: (folder: string) => Promise<{
    state: AuthenticationState;
    saveCreds: () => Promise<void>;
}>;

interface IStoreAdapter {
    get<T>(key: string): Promise<T | undefined>;
    set<T>(key: string, value: T): Promise<void>;
    del(key: string): Promise<void>;
    clear(): Promise<void>;
    keys(prefix?: string): Promise<string[]>;
    getMany<T>(keys: string[]): Promise<Record<string, T>>;
    setMany<T>(data: Record<string, T>): Promise<void>;
    compact(): Promise<void>;
    close(): Promise<void>;
}

declare class CleanUpManager {
    private client;
    private interval;
    constructor(client: Client);
    start(): void;
    stop(): void;
    run(): Promise<void>;
}

declare class HealthManager {
    private client;
    private keysDb;
    constructor(client: Client);
    repair(jid: string): Promise<void>;
    get logger(): pino.Logger<never, boolean>;
}

declare const SignalType: v.PicklistSchema<["forward", "button", "edit", "delete"], undefined>;
declare const SignalOptionsType: v.UnionSchema<[v.StringSchema<undefined>, v.IntersectSchema<[v.UnionSchema<[v.LooseObjectSchema<{
    readonly text: v.StringSchema<undefined>;
}, undefined>, v.LooseObjectSchema<{
    readonly image: v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.Base64Action<string, undefined>]>, v.CustomSchema<Buffer<ArrayBufferLike>, undefined>], undefined>;
    readonly caption: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
}, undefined>, v.LooseObjectSchema<{
    readonly audio: v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.Base64Action<string, undefined>]>, v.CustomSchema<Buffer<ArrayBufferLike>, undefined>], undefined>;
    readonly caption: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly ptt: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
}, undefined>, v.LooseObjectSchema<{
    readonly video: v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.Base64Action<string, undefined>]>, v.CustomSchema<Buffer<ArrayBufferLike>, undefined>], undefined>;
    readonly caption: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly ptv: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
}, undefined>, v.LooseObjectSchema<{
    readonly sticker: v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.Base64Action<string, undefined>]>, v.CustomSchema<Buffer<ArrayBufferLike>, undefined>], undefined>;
    readonly shape: v.OptionalSchema<v.OptionalSchema<v.PicklistSchema<["default", "rounded", "circle", "oval"], undefined>, "default">, undefined>;
    readonly caption: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
}, undefined>, v.LooseObjectSchema<{
    readonly document: v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.Base64Action<string, undefined>]>, v.CustomSchema<Buffer<ArrayBufferLike>, undefined>], undefined>;
    readonly caption: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly fileName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
}, undefined>, v.LooseObjectSchema<{
    readonly location: v.OptionalSchema<v.ObjectSchema<{
        readonly latitude: v.NumberSchema<undefined>;
        readonly longitude: v.NumberSchema<undefined>;
        readonly url: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
        readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    }, undefined>, undefined>;
}, undefined>, v.LooseObjectSchema<{
    readonly contacts: v.ObjectSchema<{
        readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly contacts: v.ArraySchema<v.ObjectSchema<{
            readonly fullname: v.StringSchema<undefined>;
            readonly phoneNumber: v.NumberSchema<undefined>;
            readonly organization: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        }, undefined>, undefined>;
    }, undefined>;
}, undefined>, v.ObjectSchema<{
    readonly poll: v.ObjectSchema<{
        readonly name: v.StringSchema<undefined>;
        readonly answers: v.ArraySchema<v.StringSchema<undefined>, undefined>;
        readonly isMultiple: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    }, undefined>;
}, undefined>], undefined>, Omit<v.ObjectSchema<{
    readonly replied: v.OptionalSchema<v.CustomSchema<WAMessage, undefined>, undefined>;
    readonly isForwardedMany: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
    readonly isViewOnce: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
    readonly banner: v.OptionalSchema<v.CustomSchema<proto.ContextInfo.IExternalAdReplyInfo, undefined>, undefined>;
    readonly buttons: v.OptionalSchema<v.UnionSchema<[v.ObjectSchema<{
        readonly type: v.LiteralSchema<"simple", undefined>;
        readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly data: v.ArraySchema<v.ObjectSchema<{
            readonly id: v.StringSchema<undefined>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"interactive", undefined>;
        readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly data: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
            readonly type: v.LiteralSchema<"quick_reply", undefined>;
            readonly id: v.StringSchema<undefined>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_url", undefined>;
            readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_copy", undefined>;
            readonly id: v.StringSchema<undefined>;
            readonly copy: v.StringSchema<undefined>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_call", undefined>;
            readonly text: v.StringSchema<undefined>;
            readonly phoneNumber: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"single_select", undefined>;
            readonly text: v.StringSchema<undefined>;
            readonly section: v.ArraySchema<v.ObjectSchema<{
                readonly title: v.StringSchema<undefined>;
                readonly highlight_label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly rows: v.ArraySchema<v.ObjectSchema<{
                    readonly id: v.StringSchema<undefined>;
                    readonly title: v.StringSchema<undefined>;
                    readonly header: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                }, undefined>, undefined>;
            }, undefined>, undefined>;
        }, undefined>], undefined>, undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"carousel", undefined>;
        readonly data: v.ArraySchema<v.ObjectSchema<{
            readonly body: v.StringSchema<undefined>;
            readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly header: v.OptionalSchema<v.ObjectSchema<{
                readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly subtitle: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly hasMediaAttachment: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
                readonly image: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly video: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            }, undefined>, undefined>;
            readonly nativeFlow: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
                readonly type: v.LiteralSchema<"quick_reply", undefined>;
                readonly id: v.StringSchema<undefined>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_url", undefined>;
                readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_copy", undefined>;
                readonly id: v.StringSchema<undefined>;
                readonly copy: v.StringSchema<undefined>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_call", undefined>;
                readonly text: v.StringSchema<undefined>;
                readonly phoneNumber: v.StringSchema<undefined>;
            }, undefined>], undefined>, undefined>;
        }, undefined>, undefined>;
    }, undefined>], undefined>, undefined>;
}, undefined>, "entries" | "~types" | "~run" | "~standard"> & {
    readonly entries: Omit<{
        readonly replied: v.OptionalSchema<v.CustomSchema<WAMessage, undefined>, undefined>;
        readonly isForwardedMany: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
        readonly isViewOnce: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
        readonly banner: v.OptionalSchema<v.CustomSchema<proto.ContextInfo.IExternalAdReplyInfo, undefined>, undefined>;
        readonly buttons: v.OptionalSchema<v.UnionSchema<[v.ObjectSchema<{
            readonly type: v.LiteralSchema<"simple", undefined>;
            readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly data: v.ArraySchema<v.ObjectSchema<{
                readonly id: v.StringSchema<undefined>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"interactive", undefined>;
            readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly data: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
                readonly type: v.LiteralSchema<"quick_reply", undefined>;
                readonly id: v.StringSchema<undefined>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_url", undefined>;
                readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_copy", undefined>;
                readonly id: v.StringSchema<undefined>;
                readonly copy: v.StringSchema<undefined>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_call", undefined>;
                readonly text: v.StringSchema<undefined>;
                readonly phoneNumber: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"single_select", undefined>;
                readonly text: v.StringSchema<undefined>;
                readonly section: v.ArraySchema<v.ObjectSchema<{
                    readonly title: v.StringSchema<undefined>;
                    readonly highlight_label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    readonly rows: v.ArraySchema<v.ObjectSchema<{
                        readonly id: v.StringSchema<undefined>;
                        readonly title: v.StringSchema<undefined>;
                        readonly header: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                        readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    }, undefined>, undefined>;
                }, undefined>, undefined>;
            }, undefined>], undefined>, undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"carousel", undefined>;
            readonly data: v.ArraySchema<v.ObjectSchema<{
                readonly body: v.StringSchema<undefined>;
                readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly header: v.OptionalSchema<v.ObjectSchema<{
                    readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    readonly subtitle: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    readonly hasMediaAttachment: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
                    readonly image: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    readonly video: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                }, undefined>, undefined>;
                readonly nativeFlow: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
                    readonly type: v.LiteralSchema<"quick_reply", undefined>;
                    readonly id: v.StringSchema<undefined>;
                    readonly text: v.StringSchema<undefined>;
                }, undefined>, v.ObjectSchema<{
                    readonly type: v.LiteralSchema<"cta_url", undefined>;
                    readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
                    readonly text: v.StringSchema<undefined>;
                }, undefined>, v.ObjectSchema<{
                    readonly type: v.LiteralSchema<"cta_copy", undefined>;
                    readonly id: v.StringSchema<undefined>;
                    readonly copy: v.StringSchema<undefined>;
                    readonly text: v.StringSchema<undefined>;
                }, undefined>, v.ObjectSchema<{
                    readonly type: v.LiteralSchema<"cta_call", undefined>;
                    readonly text: v.StringSchema<undefined>;
                    readonly phoneNumber: v.StringSchema<undefined>;
                }, undefined>], undefined>, undefined>;
            }, undefined>, undefined>;
        }, undefined>], undefined>, undefined>;
    }, "buttons">;
    readonly "~standard": v.StandardProps<{
        isViewOnce?: boolean;
        replied?: proto.IWebMessageInfo & {
            key: baileys.WAMessageKey;
            messageStubParameters?: any;
            category?: string;
            retryCount?: number;
        };
        isForwardedMany?: boolean;
        banner?: proto.ContextInfo.IExternalAdReplyInfo;
    }, {
        isViewOnce?: boolean;
        replied?: proto.IWebMessageInfo & {
            key: baileys.WAMessageKey;
            messageStubParameters?: any;
            category?: string;
            retryCount?: number;
        };
        isForwardedMany?: boolean;
        banner?: proto.ContextInfo.IExternalAdReplyInfo;
    }>;
    readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
        isViewOnce?: boolean;
        replied?: proto.IWebMessageInfo & {
            key: baileys.WAMessageKey;
            messageStubParameters?: any;
            category?: string;
            retryCount?: number;
        };
        isForwardedMany?: boolean;
        banner?: proto.ContextInfo.IExternalAdReplyInfo;
    }, v.ObjectIssue | v.BooleanIssue | v.CustomIssue>;
    readonly "~types"?: {
        readonly input: {
            isViewOnce?: boolean;
            replied?: proto.IWebMessageInfo & {
                key: baileys.WAMessageKey;
                messageStubParameters?: any;
                category?: string;
                retryCount?: number;
            };
            isForwardedMany?: boolean;
            banner?: proto.ContextInfo.IExternalAdReplyInfo;
        };
        readonly output: {
            isViewOnce?: boolean;
            replied?: proto.IWebMessageInfo & {
                key: baileys.WAMessageKey;
                messageStubParameters?: any;
                category?: string;
                retryCount?: number;
            };
            isForwardedMany?: boolean;
            banner?: proto.ContextInfo.IExternalAdReplyInfo;
        };
        readonly issue: v.ObjectIssue | v.BooleanIssue | v.CustomIssue;
    };
}], undefined>], undefined>;
declare const ButtonOptionsType: v.IntersectSchema<[v.LooseObjectSchema<{
    readonly text: v.StringSchema<undefined>;
}, undefined>, Omit<v.ObjectSchema<{
    readonly replied: v.OptionalSchema<v.CustomSchema<WAMessage, undefined>, undefined>;
    readonly isForwardedMany: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
    readonly isViewOnce: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
    readonly banner: v.OptionalSchema<v.CustomSchema<proto.ContextInfo.IExternalAdReplyInfo, undefined>, undefined>;
    readonly buttons: v.OptionalSchema<v.UnionSchema<[v.ObjectSchema<{
        readonly type: v.LiteralSchema<"simple", undefined>;
        readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly data: v.ArraySchema<v.ObjectSchema<{
            readonly id: v.StringSchema<undefined>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"interactive", undefined>;
        readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly data: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
            readonly type: v.LiteralSchema<"quick_reply", undefined>;
            readonly id: v.StringSchema<undefined>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_url", undefined>;
            readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_copy", undefined>;
            readonly id: v.StringSchema<undefined>;
            readonly copy: v.StringSchema<undefined>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_call", undefined>;
            readonly text: v.StringSchema<undefined>;
            readonly phoneNumber: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"single_select", undefined>;
            readonly text: v.StringSchema<undefined>;
            readonly section: v.ArraySchema<v.ObjectSchema<{
                readonly title: v.StringSchema<undefined>;
                readonly highlight_label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly rows: v.ArraySchema<v.ObjectSchema<{
                    readonly id: v.StringSchema<undefined>;
                    readonly title: v.StringSchema<undefined>;
                    readonly header: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                }, undefined>, undefined>;
            }, undefined>, undefined>;
        }, undefined>], undefined>, undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"carousel", undefined>;
        readonly data: v.ArraySchema<v.ObjectSchema<{
            readonly body: v.StringSchema<undefined>;
            readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly header: v.OptionalSchema<v.ObjectSchema<{
                readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly subtitle: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly hasMediaAttachment: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
                readonly image: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly video: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            }, undefined>, undefined>;
            readonly nativeFlow: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
                readonly type: v.LiteralSchema<"quick_reply", undefined>;
                readonly id: v.StringSchema<undefined>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_url", undefined>;
                readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_copy", undefined>;
                readonly id: v.StringSchema<undefined>;
                readonly copy: v.StringSchema<undefined>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_call", undefined>;
                readonly text: v.StringSchema<undefined>;
                readonly phoneNumber: v.StringSchema<undefined>;
            }, undefined>], undefined>, undefined>;
        }, undefined>, undefined>;
    }, undefined>], undefined>, undefined>;
}, undefined>, "entries" | "~types" | "~run" | "~standard"> & {
    readonly entries: Omit<{
        readonly replied: v.OptionalSchema<v.CustomSchema<WAMessage, undefined>, undefined>;
        readonly isForwardedMany: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
        readonly isViewOnce: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
        readonly banner: v.OptionalSchema<v.CustomSchema<proto.ContextInfo.IExternalAdReplyInfo, undefined>, undefined>;
        readonly buttons: v.OptionalSchema<v.UnionSchema<[v.ObjectSchema<{
            readonly type: v.LiteralSchema<"simple", undefined>;
            readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly data: v.ArraySchema<v.ObjectSchema<{
                readonly id: v.StringSchema<undefined>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"interactive", undefined>;
            readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly data: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
                readonly type: v.LiteralSchema<"quick_reply", undefined>;
                readonly id: v.StringSchema<undefined>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_url", undefined>;
                readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_copy", undefined>;
                readonly id: v.StringSchema<undefined>;
                readonly copy: v.StringSchema<undefined>;
                readonly text: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"cta_call", undefined>;
                readonly text: v.StringSchema<undefined>;
                readonly phoneNumber: v.StringSchema<undefined>;
            }, undefined>, v.ObjectSchema<{
                readonly type: v.LiteralSchema<"single_select", undefined>;
                readonly text: v.StringSchema<undefined>;
                readonly section: v.ArraySchema<v.ObjectSchema<{
                    readonly title: v.StringSchema<undefined>;
                    readonly highlight_label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    readonly rows: v.ArraySchema<v.ObjectSchema<{
                        readonly id: v.StringSchema<undefined>;
                        readonly title: v.StringSchema<undefined>;
                        readonly header: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                        readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    }, undefined>, undefined>;
                }, undefined>, undefined>;
            }, undefined>], undefined>, undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"carousel", undefined>;
            readonly data: v.ArraySchema<v.ObjectSchema<{
                readonly body: v.StringSchema<undefined>;
                readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly header: v.OptionalSchema<v.ObjectSchema<{
                    readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    readonly subtitle: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    readonly hasMediaAttachment: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
                    readonly image: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                    readonly video: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                }, undefined>, undefined>;
                readonly nativeFlow: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
                    readonly type: v.LiteralSchema<"quick_reply", undefined>;
                    readonly id: v.StringSchema<undefined>;
                    readonly text: v.StringSchema<undefined>;
                }, undefined>, v.ObjectSchema<{
                    readonly type: v.LiteralSchema<"cta_url", undefined>;
                    readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
                    readonly text: v.StringSchema<undefined>;
                }, undefined>, v.ObjectSchema<{
                    readonly type: v.LiteralSchema<"cta_copy", undefined>;
                    readonly id: v.StringSchema<undefined>;
                    readonly copy: v.StringSchema<undefined>;
                    readonly text: v.StringSchema<undefined>;
                }, undefined>, v.ObjectSchema<{
                    readonly type: v.LiteralSchema<"cta_call", undefined>;
                    readonly text: v.StringSchema<undefined>;
                    readonly phoneNumber: v.StringSchema<undefined>;
                }, undefined>], undefined>, undefined>;
            }, undefined>, undefined>;
        }, undefined>], undefined>, undefined>;
    }, "banner">;
    readonly "~standard": v.StandardProps<{
        buttons?: {
            type: "simple";
            footer?: string;
            data: {
                id: string;
                text: string;
            }[];
        } | {
            type: "interactive";
            footer?: string;
            data: ({
                type: "quick_reply";
                id: string;
                text: string;
            } | {
                type: "cta_url";
                url: string;
                text: string;
            } | {
                type: "cta_copy";
                id: string;
                copy: string;
                text: string;
            } | {
                type: "cta_call";
                text: string;
                phoneNumber: string;
            } | {
                type: "single_select";
                text: string;
                section: {
                    title: string;
                    highlight_label?: string;
                    rows: {
                        id: string;
                        title: string;
                        header?: string;
                        description?: string;
                    }[];
                }[];
            })[];
        } | {
            type: "carousel";
            data: {
                body: string;
                footer?: string;
                header?: {
                    title?: string;
                    subtitle?: string;
                    hasMediaAttachment?: boolean;
                    image?: string;
                    video?: string;
                };
                nativeFlow: ({
                    type: "quick_reply";
                    id: string;
                    text: string;
                } | {
                    type: "cta_url";
                    url: string;
                    text: string;
                } | {
                    type: "cta_copy";
                    id: string;
                    copy: string;
                    text: string;
                } | {
                    type: "cta_call";
                    text: string;
                    phoneNumber: string;
                })[];
            }[];
        };
        isViewOnce?: boolean;
        replied?: proto.IWebMessageInfo & {
            key: baileys.WAMessageKey;
            messageStubParameters?: any;
            category?: string;
            retryCount?: number;
        };
        isForwardedMany?: boolean;
    }, {
        buttons?: {
            type: "simple";
            footer?: string;
            data: {
                id: string;
                text: string;
            }[];
        } | {
            type: "interactive";
            footer?: string;
            data: ({
                type: "quick_reply";
                id: string;
                text: string;
            } | {
                type: "cta_url";
                url: string;
                text: string;
            } | {
                type: "cta_copy";
                id: string;
                copy: string;
                text: string;
            } | {
                type: "cta_call";
                text: string;
                phoneNumber: string;
            } | {
                type: "single_select";
                text: string;
                section: {
                    title: string;
                    highlight_label?: string;
                    rows: {
                        id: string;
                        title: string;
                        header?: string;
                        description?: string;
                    }[];
                }[];
            })[];
        } | {
            type: "carousel";
            data: {
                body: string;
                footer?: string;
                header?: {
                    title?: string;
                    subtitle?: string;
                    hasMediaAttachment?: boolean;
                    image?: string;
                    video?: string;
                };
                nativeFlow: ({
                    type: "quick_reply";
                    id: string;
                    text: string;
                } | {
                    type: "cta_url";
                    url: string;
                    text: string;
                } | {
                    type: "cta_copy";
                    id: string;
                    copy: string;
                    text: string;
                } | {
                    type: "cta_call";
                    text: string;
                    phoneNumber: string;
                })[];
            }[];
        };
        isViewOnce?: boolean;
        replied?: proto.IWebMessageInfo & {
            key: baileys.WAMessageKey;
            messageStubParameters?: any;
            category?: string;
            retryCount?: number;
        };
        isForwardedMany?: boolean;
    }>;
    readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
        buttons?: {
            type: "simple";
            footer?: string;
            data: {
                id: string;
                text: string;
            }[];
        } | {
            type: "interactive";
            footer?: string;
            data: ({
                type: "quick_reply";
                id: string;
                text: string;
            } | {
                type: "cta_url";
                url: string;
                text: string;
            } | {
                type: "cta_copy";
                id: string;
                copy: string;
                text: string;
            } | {
                type: "cta_call";
                text: string;
                phoneNumber: string;
            } | {
                type: "single_select";
                text: string;
                section: {
                    title: string;
                    highlight_label?: string;
                    rows: {
                        id: string;
                        title: string;
                        header?: string;
                        description?: string;
                    }[];
                }[];
            })[];
        } | {
            type: "carousel";
            data: {
                body: string;
                footer?: string;
                header?: {
                    title?: string;
                    subtitle?: string;
                    hasMediaAttachment?: boolean;
                    image?: string;
                    video?: string;
                };
                nativeFlow: ({
                    type: "quick_reply";
                    id: string;
                    text: string;
                } | {
                    type: "cta_url";
                    url: string;
                    text: string;
                } | {
                    type: "cta_copy";
                    id: string;
                    copy: string;
                    text: string;
                } | {
                    type: "cta_call";
                    text: string;
                    phoneNumber: string;
                })[];
            }[];
        };
        isViewOnce?: boolean;
        replied?: proto.IWebMessageInfo & {
            key: baileys.WAMessageKey;
            messageStubParameters?: any;
            category?: string;
            retryCount?: number;
        };
        isForwardedMany?: boolean;
    }, v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.ArrayIssue | v.BooleanIssue | v.CustomIssue | v.UrlIssue<string> | v.UnionIssue<v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.ArrayIssue | v.UrlIssue<string>> | v.UnionIssue<v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.UrlIssue<string>> | v.UnionIssue<v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.ArrayIssue | v.BooleanIssue | v.UrlIssue<string> | v.UnionIssue<v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.ArrayIssue | v.UrlIssue<string>> | v.UnionIssue<v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.UrlIssue<string>>>>;
    readonly "~types"?: {
        readonly input: {
            buttons?: {
                type: "simple";
                footer?: string;
                data: {
                    id: string;
                    text: string;
                }[];
            } | {
                type: "interactive";
                footer?: string;
                data: ({
                    type: "quick_reply";
                    id: string;
                    text: string;
                } | {
                    type: "cta_url";
                    url: string;
                    text: string;
                } | {
                    type: "cta_copy";
                    id: string;
                    copy: string;
                    text: string;
                } | {
                    type: "cta_call";
                    text: string;
                    phoneNumber: string;
                } | {
                    type: "single_select";
                    text: string;
                    section: {
                        title: string;
                        highlight_label?: string;
                        rows: {
                            id: string;
                            title: string;
                            header?: string;
                            description?: string;
                        }[];
                    }[];
                })[];
            } | {
                type: "carousel";
                data: {
                    body: string;
                    footer?: string;
                    header?: {
                        title?: string;
                        subtitle?: string;
                        hasMediaAttachment?: boolean;
                        image?: string;
                        video?: string;
                    };
                    nativeFlow: ({
                        type: "quick_reply";
                        id: string;
                        text: string;
                    } | {
                        type: "cta_url";
                        url: string;
                        text: string;
                    } | {
                        type: "cta_copy";
                        id: string;
                        copy: string;
                        text: string;
                    } | {
                        type: "cta_call";
                        text: string;
                        phoneNumber: string;
                    })[];
                }[];
            };
            isViewOnce?: boolean;
            replied?: proto.IWebMessageInfo & {
                key: baileys.WAMessageKey;
                messageStubParameters?: any;
                category?: string;
                retryCount?: number;
            };
            isForwardedMany?: boolean;
        };
        readonly output: {
            buttons?: {
                type: "simple";
                footer?: string;
                data: {
                    id: string;
                    text: string;
                }[];
            } | {
                type: "interactive";
                footer?: string;
                data: ({
                    type: "quick_reply";
                    id: string;
                    text: string;
                } | {
                    type: "cta_url";
                    url: string;
                    text: string;
                } | {
                    type: "cta_copy";
                    id: string;
                    copy: string;
                    text: string;
                } | {
                    type: "cta_call";
                    text: string;
                    phoneNumber: string;
                } | {
                    type: "single_select";
                    text: string;
                    section: {
                        title: string;
                        highlight_label?: string;
                        rows: {
                            id: string;
                            title: string;
                            header?: string;
                            description?: string;
                        }[];
                    }[];
                })[];
            } | {
                type: "carousel";
                data: {
                    body: string;
                    footer?: string;
                    header?: {
                        title?: string;
                        subtitle?: string;
                        hasMediaAttachment?: boolean;
                        image?: string;
                        video?: string;
                    };
                    nativeFlow: ({
                        type: "quick_reply";
                        id: string;
                        text: string;
                    } | {
                        type: "cta_url";
                        url: string;
                        text: string;
                    } | {
                        type: "cta_copy";
                        id: string;
                        copy: string;
                        text: string;
                    } | {
                        type: "cta_call";
                        text: string;
                        phoneNumber: string;
                    })[];
                }[];
            };
            isViewOnce?: boolean;
            replied?: proto.IWebMessageInfo & {
                key: baileys.WAMessageKey;
                messageStubParameters?: any;
                category?: string;
                retryCount?: number;
            };
            isForwardedMany?: boolean;
        };
        readonly issue: v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.ArrayIssue | v.BooleanIssue | v.CustomIssue | v.UrlIssue<string> | v.UnionIssue<v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.ArrayIssue | v.UrlIssue<string>> | v.UnionIssue<v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.UrlIssue<string>> | v.UnionIssue<v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.ArrayIssue | v.BooleanIssue | v.UrlIssue<string> | v.UnionIssue<v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.ArrayIssue | v.UrlIssue<string>> | v.UnionIssue<v.ObjectIssue | v.LiteralIssue | v.StringIssue | v.UrlIssue<string>>>;
    };
}], undefined>;

declare class Signal {
    protected client: Client;
    constructor(client: Client);
    protected signal(roomId: string, options: v.InferInput<typeof SignalOptionsType> | any, type?: v.InferInput<typeof SignalType>, message?: WAMessage): Promise<WAMessage>;
    send(roomId: string, options: v.InferInput<typeof SignalOptionsType>): Promise<WAMessage>;
    forward(roomId: string, options: v.InferInput<typeof SignalOptionsType>): Promise<WAMessage>;
    button(roomId: string, options: v.InferInput<typeof ButtonOptionsType>): Promise<WAMessage>;
    edit(message: WAMessage, options: v.InferInput<typeof SignalOptionsType>): Promise<WAMessage>;
    delete(message: WAMessage | WAMessage[]): Promise<WAMessage | (baileys.proto.IWebMessageInfo & {
        key: baileys.WAMessageKey;
        messageStubParameters?: any;
        category?: string;
        retryCount?: number;
    })[]>;
    presence(roomId: string, type: 'typing' | 'recording' | 'online' | 'offline' | 'paused'): Promise<void>;
    reaction(message: WAMessage, reaction: string): Promise<WAMessage>;
    memberLabel(roomId: string, label: string): Promise<string>;
}

declare class Community {
    protected client: Client;
    constructor(client: Client);
    create(subject: string, description: string): Promise<baileys.GroupMetadata>;
    createGroup(subject: string, participants: string[], parentId: string): Promise<baileys.GroupMetadata>;
    leave(id: string): Promise<void>;
    metadata(id: string): Promise<baileys.GroupMetadata>;
    update(id: string, type: 'subject' | 'description', value: string): Promise<void>;
    group(id: string, type: 'link' | 'unlink' | 'linked', groupJid?: string): Promise<void | {
        communityJid: string;
        isCommunity: boolean;
        linkedGroups: {
            id: string | undefined;
            subject: string;
            creation: number | undefined;
            owner: string | undefined;
            size: number | undefined;
        }[];
    }>;
    participants(id: string, type: 'list' | 'request-update' | 'update' | 'all', action?: 'add' | 'remove' | 'promote' | 'demote' | 'approve' | 'reject', participants?: string[]): Promise<{
        [key: string]: string;
    }[] | {
        status: string;
        jid: string | undefined;
    }[] | {
        [_: string]: baileys.GroupMetadata;
    }>;
    invite(target: string | any, type: 'code' | 'revoke' | 'accept' | 'info' | 'revokeV4' | 'acceptV4', ...args: any[]): Promise<any>;
    settings(id: string, type: 'ephemeral' | 'update' | 'memberAdd' | 'approval', value?: any): Promise<void>;
}
declare class SignalCommunity {
    protected mlient: Client;
    community: Community;
    constructor(mlient: Client);
}

declare class Group {
    protected client: Client;
    constructor(client: Client);
    create(name: string, participants: string[]): Promise<baileys.GroupMetadata>;
    participant(roomId: string, participants: string[], action: ParticipantAction): Promise<{
        status: string;
        jid: string | undefined;
        content: baileys.BinaryNode;
    }[]>;
    profile(roomId: string, update: string | Buffer, type: 'subject' | 'description' | 'picture'): Promise<void>;
    setting(roomId: string, type: 'open' | 'close' | 'locked' | 'unlocked' | 'all_member_add' | 'admin_add'): Promise<void>;
    leave(roomId: string): Promise<void>;
    inviteCode(roomId: string, type: 'code' | 'revoke' | 'accept' | 'info'): Promise<string | baileys.GroupMetadata>;
    metadata(roomId: string): Promise<any>;
    requestJoin(roomId: string, participants: string[], type: 'approve' | 'reject'): Promise<{
        status: string;
        jid: string | undefined;
    }[]>;
    requestJoinList(roomId: string): Promise<{
        [key: string]: string;
    }[]>;
    fetchAllGroups(): Promise<{
        [_: string]: baileys.GroupMetadata;
    }>;
    ephemeral(roomId: string, type: 'off' | '24h' | '7d' | '90d'): Promise<void>;
}
declare class SignalGroup {
    protected glient: Client;
    group: Group;
    constructor(glient: Client);
}

declare class Newsletter {
    protected client: Client;
    constructor(client: Client);
    create(name: string, description: string): Promise<baileys.NewsletterMetadata>;
    action(roomId: string, type: 'follow' | 'unfollow' | 'mute' | 'unmute' | ''): Promise<unknown>;
    update(roomId: string, update: string | Buffer, type: 'name' | 'description' | 'picture'): Promise<unknown>;
    metadata(roomId: string, type: 'invite' | 'jid'): Promise<baileys.NewsletterMetadata>;
    subscribers(roomId: string): Promise<{
        subscribers: number;
    }>;
    reaction(roomId: string, chatId: string, reaction: string): Promise<void>;
    fetchMessages(roomId: string, count: number, since: Date, after: Date): Promise<any>;
    adminCount(roomId: string): Promise<number>;
    changeOwner(roomId: string, owner: string): Promise<void>;
    demote(roomId: string, senderId: string): Promise<void>;
    delete(roomId: string): Promise<void>;
    removePicture(roomId: string): Promise<unknown>;
}
declare class SignalNewsletter {
    protected nlient: Client;
    newsletter: Newsletter;
    constructor(nlient: Client);
}

declare class Privacy {
    protected client: Client;
    constructor(client: Client);
    block(senderId: string): Promise<void>;
    unblock(senderId: string): Promise<void>;
    lastSeen(type: WAPrivacyValue): Promise<void>;
    online(type: WAPrivacyOnlineValue): Promise<void>;
    picture(type: WAPrivacyValue): Promise<void>;
    status(type: WAPrivacyValue): Promise<void>;
    readReceipt(type: WAReadReceiptsValue): Promise<void>;
    groupsAdd(type: WAPrivacyGroupAddValue): Promise<void>;
    ephemeral(type: 'off' | '24h' | '7d' | '90d'): Promise<void>;
    blocklist(): Promise<string[]>;
    getSettings(): Promise<{
        [_: string]: string;
    }>;
}
declare class SignalPrivacy {
    protected plient: Client;
    privacy: Privacy;
    constructor(plient: Client);
}

declare const ListenerCallsType: v.ObjectSchema<{
    readonly callId: v.StringSchema<undefined>;
    readonly callerId: v.StringSchema<undefined>;
    readonly roomId: v.StringSchema<undefined>;
    readonly roomName: v.StringSchema<undefined>;
    readonly date: v.DateSchema<undefined>;
    readonly offline: v.BooleanSchema<undefined>;
    readonly status: v.PicklistSchema<["accept", "offer", "reject", "ringing", "terminate", "timeout"], undefined>;
    readonly isVideo: v.BooleanSchema<undefined>;
    readonly isGroup: v.BooleanSchema<undefined>;
}, undefined>;
type CallsContext = v.InferOutput<typeof ListenerCallsType>;

declare const ListenerConnectionType: v.ObjectSchema<{
    readonly status: v.PicklistSchema<["connecting", "open", "close", "reload", "syncing"], undefined>;
    readonly authType: v.PicklistSchema<["pairing", "qr"], undefined>;
    readonly authTimeout: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
    readonly syncProgress: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
    readonly syncCompleted: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly qr: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly code: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
}, undefined>;
type ConnectionContext = v.InferOutput<typeof ListenerConnectionType>;

declare const DEVICE_ENUM_TYPES: v.PicklistSchema<["unknown", "android", "ios", "desktop", "web"], undefined>;
declare const MESSAGE_ENUM_TYPES: v.PicklistSchema<["text", "album", "image", "contact", "location", "document", "audio", "video", "protocol", "contacts", "highlyStructured", "sendPayment", "requestPayment", "groupStatusMention", "statusMention", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "product", "deviceSent", "lists", "viewOnce", "order", "ephemeral", "invoice", "buttons", "paymentInvite", "interactive", "reaction", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "requestPhoneNumber", "scheduledCallCreation", "groupMentioned", "pinInChat", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "placeholder", "encEventUpdate"], undefined>;
declare const BaseMessagesType: v.ObjectSchema<{
    readonly channelId: v.StringSchema<undefined>;
    readonly uniqueId: v.StringSchema<undefined>;
    readonly chatId: v.StringSchema<undefined>;
    readonly chatType: v.PicklistSchema<["text", "album", "image", "contact", "location", "document", "audio", "video", "protocol", "contacts", "highlyStructured", "sendPayment", "requestPayment", "groupStatusMention", "statusMention", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "product", "deviceSent", "lists", "viewOnce", "order", "ephemeral", "invoice", "buttons", "paymentInvite", "interactive", "reaction", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "requestPhoneNumber", "scheduledCallCreation", "groupMentioned", "pinInChat", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "placeholder", "encEventUpdate"], undefined>;
    readonly receiverLid: v.StringSchema<undefined>;
    readonly receiverId: v.StringSchema<undefined>;
    readonly receiverName: v.StringSchema<undefined>;
    readonly roomId: v.StringSchema<undefined>;
    readonly roomLid: v.NullableSchema<v.StringSchema<undefined>, undefined>;
    readonly roomName: v.NullableSchema<v.StringSchema<undefined>, undefined>;
    readonly senderLid: v.StringSchema<undefined>;
    readonly senderId: v.StringSchema<undefined>;
    readonly senderName: v.StringSchema<undefined>;
    readonly senderDevice: v.PicklistSchema<["unknown", "android", "ios", "desktop", "web"], undefined>;
    readonly timestamp: v.NumberSchema<undefined>;
    readonly text: v.NullableSchema<v.StringSchema<undefined>, undefined>;
    readonly mentions: v.ArraySchema<v.StringSchema<undefined>, undefined>;
    readonly links: v.ArraySchema<v.StringSchema<undefined>, undefined>;
    readonly isBot: v.BooleanSchema<undefined>;
    readonly isFromMe: v.BooleanSchema<undefined>;
    readonly isPrefix: v.BooleanSchema<undefined>;
    readonly isSpam: v.BooleanSchema<undefined>;
    readonly isTagMe: v.BooleanSchema<undefined>;
    readonly isStatusMention: v.BooleanSchema<undefined>;
    readonly isGroupStatusMention: v.BooleanSchema<undefined>;
    readonly isHideTags: v.BooleanSchema<undefined>;
    readonly isGroup: v.BooleanSchema<undefined>;
    readonly isNewsletter: v.BooleanSchema<undefined>;
    readonly isQuestion: v.BooleanSchema<undefined>;
    readonly isStory: v.BooleanSchema<undefined>;
    readonly isViewOnce: v.BooleanSchema<undefined>;
    readonly isEdited: v.BooleanSchema<undefined>;
    readonly isDeleted: v.BooleanSchema<undefined>;
    readonly isPinned: v.BooleanSchema<undefined>;
    readonly isUnPinned: v.BooleanSchema<undefined>;
    readonly isBroadcast: v.BooleanSchema<undefined>;
    readonly isEphemeral: v.BooleanSchema<undefined>;
    readonly isForwarded: v.BooleanSchema<undefined>;
    readonly citation: v.NullableSchema<v.RecordSchema<v.StringSchema<undefined>, v.CustomSchema<(...args: unknown[]) => Promise<boolean>, undefined>, undefined>, undefined>;
    readonly media: v.NullableSchema<v.LooseObjectSchema<{
        readonly buffer: v.CustomSchema<() => Promise<Buffer>, undefined>;
        readonly stream: v.CustomSchema<() => Promise<Stream>, undefined>;
    }, undefined>, undefined>;
    readonly injection: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.AnySchema, undefined>, {}>;
    readonly message: v.CustomSchema<() => WAMessage, undefined>;
}, undefined>;
declare const ListenerMessagesType: v.ObjectSchema<{
    readonly replied: v.NullableSchema<v.ObjectSchema<{
        readonly channelId: v.StringSchema<undefined>;
        readonly uniqueId: v.StringSchema<undefined>;
        readonly chatId: v.StringSchema<undefined>;
        readonly chatType: v.PicklistSchema<["text", "album", "image", "contact", "location", "document", "audio", "video", "protocol", "contacts", "highlyStructured", "sendPayment", "requestPayment", "groupStatusMention", "statusMention", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "product", "deviceSent", "lists", "viewOnce", "order", "ephemeral", "invoice", "buttons", "paymentInvite", "interactive", "reaction", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "requestPhoneNumber", "scheduledCallCreation", "groupMentioned", "pinInChat", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "placeholder", "encEventUpdate"], undefined>;
        readonly receiverLid: v.StringSchema<undefined>;
        readonly receiverId: v.StringSchema<undefined>;
        readonly receiverName: v.StringSchema<undefined>;
        readonly roomId: v.StringSchema<undefined>;
        readonly roomLid: v.NullableSchema<v.StringSchema<undefined>, undefined>;
        readonly roomName: v.NullableSchema<v.StringSchema<undefined>, undefined>;
        readonly senderLid: v.StringSchema<undefined>;
        readonly senderId: v.StringSchema<undefined>;
        readonly senderName: v.StringSchema<undefined>;
        readonly senderDevice: v.PicklistSchema<["unknown", "android", "ios", "desktop", "web"], undefined>;
        readonly timestamp: v.NumberSchema<undefined>;
        readonly text: v.NullableSchema<v.StringSchema<undefined>, undefined>;
        readonly mentions: v.ArraySchema<v.StringSchema<undefined>, undefined>;
        readonly links: v.ArraySchema<v.StringSchema<undefined>, undefined>;
        readonly isBot: v.BooleanSchema<undefined>;
        readonly isFromMe: v.BooleanSchema<undefined>;
        readonly isPrefix: v.BooleanSchema<undefined>;
        readonly isSpam: v.BooleanSchema<undefined>;
        readonly isTagMe: v.BooleanSchema<undefined>;
        readonly isStatusMention: v.BooleanSchema<undefined>;
        readonly isGroupStatusMention: v.BooleanSchema<undefined>;
        readonly isHideTags: v.BooleanSchema<undefined>;
        readonly isGroup: v.BooleanSchema<undefined>;
        readonly isNewsletter: v.BooleanSchema<undefined>;
        readonly isQuestion: v.BooleanSchema<undefined>;
        readonly isStory: v.BooleanSchema<undefined>;
        readonly isViewOnce: v.BooleanSchema<undefined>;
        readonly isEdited: v.BooleanSchema<undefined>;
        readonly isDeleted: v.BooleanSchema<undefined>;
        readonly isPinned: v.BooleanSchema<undefined>;
        readonly isUnPinned: v.BooleanSchema<undefined>;
        readonly isBroadcast: v.BooleanSchema<undefined>;
        readonly isEphemeral: v.BooleanSchema<undefined>;
        readonly isForwarded: v.BooleanSchema<undefined>;
        readonly citation: v.NullableSchema<v.RecordSchema<v.StringSchema<undefined>, v.CustomSchema<(...args: unknown[]) => Promise<boolean>, undefined>, undefined>, undefined>;
        readonly media: v.NullableSchema<v.LooseObjectSchema<{
            readonly buffer: v.CustomSchema<() => Promise<Buffer>, undefined>;
            readonly stream: v.CustomSchema<() => Promise<Stream>, undefined>;
        }, undefined>, undefined>;
        readonly injection: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.AnySchema, undefined>, {}>;
        readonly message: v.CustomSchema<() => WAMessage, undefined>;
    }, undefined>, undefined>;
    readonly channelId: v.StringSchema<undefined>;
    readonly uniqueId: v.StringSchema<undefined>;
    readonly chatId: v.StringSchema<undefined>;
    readonly chatType: v.PicklistSchema<["text", "album", "image", "contact", "location", "document", "audio", "video", "protocol", "contacts", "highlyStructured", "sendPayment", "requestPayment", "groupStatusMention", "statusMention", "declinePaymentRequest", "cancelPaymentRequest", "template", "sticker", "groupInvite", "product", "deviceSent", "lists", "viewOnce", "order", "ephemeral", "invoice", "buttons", "paymentInvite", "interactive", "reaction", "interactiveResponse", "pollCreation", "pollUpdate", "keepInChat", "requestPhoneNumber", "scheduledCallCreation", "groupMentioned", "pinInChat", "scheduledCallEdit", "ptv", "botInvoke", "callLog", "encComment", "bcall", "lottieSticker", "event", "comment", "placeholder", "encEventUpdate"], undefined>;
    readonly receiverLid: v.StringSchema<undefined>;
    readonly receiverId: v.StringSchema<undefined>;
    readonly receiverName: v.StringSchema<undefined>;
    readonly roomId: v.StringSchema<undefined>;
    readonly roomLid: v.NullableSchema<v.StringSchema<undefined>, undefined>;
    readonly roomName: v.NullableSchema<v.StringSchema<undefined>, undefined>;
    readonly senderLid: v.StringSchema<undefined>;
    readonly senderId: v.StringSchema<undefined>;
    readonly senderName: v.StringSchema<undefined>;
    readonly senderDevice: v.PicklistSchema<["unknown", "android", "ios", "desktop", "web"], undefined>;
    readonly timestamp: v.NumberSchema<undefined>;
    readonly text: v.NullableSchema<v.StringSchema<undefined>, undefined>;
    readonly mentions: v.ArraySchema<v.StringSchema<undefined>, undefined>;
    readonly links: v.ArraySchema<v.StringSchema<undefined>, undefined>;
    readonly isBot: v.BooleanSchema<undefined>;
    readonly isFromMe: v.BooleanSchema<undefined>;
    readonly isPrefix: v.BooleanSchema<undefined>;
    readonly isSpam: v.BooleanSchema<undefined>;
    readonly isTagMe: v.BooleanSchema<undefined>;
    readonly isStatusMention: v.BooleanSchema<undefined>;
    readonly isGroupStatusMention: v.BooleanSchema<undefined>;
    readonly isHideTags: v.BooleanSchema<undefined>;
    readonly isGroup: v.BooleanSchema<undefined>;
    readonly isNewsletter: v.BooleanSchema<undefined>;
    readonly isQuestion: v.BooleanSchema<undefined>;
    readonly isStory: v.BooleanSchema<undefined>;
    readonly isViewOnce: v.BooleanSchema<undefined>;
    readonly isEdited: v.BooleanSchema<undefined>;
    readonly isDeleted: v.BooleanSchema<undefined>;
    readonly isPinned: v.BooleanSchema<undefined>;
    readonly isUnPinned: v.BooleanSchema<undefined>;
    readonly isBroadcast: v.BooleanSchema<undefined>;
    readonly isEphemeral: v.BooleanSchema<undefined>;
    readonly isForwarded: v.BooleanSchema<undefined>;
    readonly citation: v.NullableSchema<v.RecordSchema<v.StringSchema<undefined>, v.CustomSchema<(...args: unknown[]) => Promise<boolean>, undefined>, undefined>, undefined>;
    readonly media: v.NullableSchema<v.LooseObjectSchema<{
        readonly buffer: v.CustomSchema<() => Promise<Buffer>, undefined>;
        readonly stream: v.CustomSchema<() => Promise<Stream>, undefined>;
    }, undefined>, undefined>;
    readonly injection: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.AnySchema, undefined>, {}>;
    readonly message: v.CustomSchema<() => WAMessage, undefined>;
}, undefined>;
type MessagesContext = v.InferOutput<typeof ListenerMessagesType>;

declare const LimiterType: v.OptionalSchema<v.ObjectSchema<{
    readonly maxMessages: v.OptionalSchema<v.NumberSchema<undefined>, 20>;
    readonly durationMs: v.OptionalSchema<v.NumberSchema<undefined>, 10000>;
}, undefined>, undefined>;
declare const CitationType: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.CustomSchema<(...args: unknown[]) => Promise<number[]>, undefined>, undefined>, undefined>;
declare const FakeReplyType: v.OptionalSchema<v.ObjectSchema<{
    readonly provider: v.UnionSchema<[v.PicklistSchema<["whatsapp", "meta", "chatgpt", "copilot", "instagram", "tiktok"], undefined>, v.NumberSchema<undefined>], undefined>;
}, undefined>, undefined>;
declare const ClientStickerShapeType: v.OptionalSchema<v.PicklistSchema<["default", "rounded", "circle", "oval"], undefined>, "default">;
declare const ClientStickerOptionsType: v.OptionalSchema<v.ObjectSchema<{
    readonly packageName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly authorName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly quality: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
    readonly shape: v.OptionalSchema<v.OptionalSchema<v.PicklistSchema<["default", "rounded", "circle", "oval"], undefined>, "default">, undefined>;
}, undefined>, undefined>;
declare const autoCleanUp: v.OptionalSchema<v.ObjectSchema<{
    readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly intervalMs: v.OptionalSchema<v.NumberSchema<undefined>, number>;
    readonly maxAgeMs: v.OptionalSchema<v.NumberSchema<undefined>, number>;
    readonly scopes: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly ["messages"]>;
}, undefined>, undefined>;
declare const ClientBaseType: v.ObjectSchema<{
    readonly session: v.OptionalSchema<v.StringSchema<undefined>, "zaileys">;
    readonly prefix: v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.ArraySchema<v.StringSchema<undefined>, undefined>], undefined>, undefined>;
    readonly ignoreMe: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly showLogs: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly fancyLogs: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly syncFullHistory: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly disableFFmpeg: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly autoMarkAI: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoMentions: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoOnline: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoRead: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoPresence: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoRejectCall: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly showSpinner: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly maxReplies: v.OptionalSchema<v.NumberSchema<undefined>, 3>;
    readonly deleteSessionOnLogout: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly pluginsDir: v.OptionalSchema<v.StringSchema<undefined>, "plugins">;
    readonly pluginsHmr: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoCleanUp: v.OptionalSchema<v.ObjectSchema<{
        readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
        readonly intervalMs: v.OptionalSchema<v.NumberSchema<undefined>, number>;
        readonly maxAgeMs: v.OptionalSchema<v.NumberSchema<undefined>, number>;
        readonly scopes: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly ["messages"]>;
    }, undefined>, undefined>;
    readonly limiter: v.OptionalSchema<v.ObjectSchema<{
        readonly maxMessages: v.OptionalSchema<v.NumberSchema<undefined>, 20>;
        readonly durationMs: v.OptionalSchema<v.NumberSchema<undefined>, 10000>;
    }, undefined>, undefined>;
    readonly citation: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.CustomSchema<(...args: unknown[]) => Promise<number[]>, undefined>, undefined>, undefined>;
    readonly fakeReply: v.OptionalSchema<v.ObjectSchema<{
        readonly provider: v.UnionSchema<[v.PicklistSchema<["whatsapp", "meta", "chatgpt", "copilot", "instagram", "tiktok"], undefined>, v.NumberSchema<undefined>], undefined>;
    }, undefined>, undefined>;
    readonly sticker: v.OptionalSchema<v.ObjectSchema<{
        readonly packageName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly authorName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly quality: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
        readonly shape: v.OptionalSchema<v.OptionalSchema<v.PicklistSchema<["default", "rounded", "circle", "oval"], undefined>, "default">, undefined>;
    }, undefined>, undefined>;
}, undefined>;
declare const ClientAuthPairingType: v.ObjectSchema<{
    readonly authType: v.LiteralSchema<"pairing", undefined>;
    readonly phoneNumber: v.NumberSchema<undefined>;
}, undefined>;
declare const ClientAuthQRType: v.ObjectSchema<{
    readonly authType: v.LiteralSchema<"qr", undefined>;
}, undefined>;
declare const ClientOptionsType: v.UnionSchema<[v.ObjectSchema<{
    readonly session: v.OptionalSchema<v.StringSchema<undefined>, "zaileys">;
    readonly prefix: v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.ArraySchema<v.StringSchema<undefined>, undefined>], undefined>, undefined>;
    readonly ignoreMe: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly showLogs: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly fancyLogs: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly syncFullHistory: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly disableFFmpeg: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly autoMarkAI: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoMentions: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoOnline: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoRead: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoPresence: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoRejectCall: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly showSpinner: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly maxReplies: v.OptionalSchema<v.NumberSchema<undefined>, 3>;
    readonly deleteSessionOnLogout: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly pluginsDir: v.OptionalSchema<v.StringSchema<undefined>, "plugins">;
    readonly pluginsHmr: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoCleanUp: v.OptionalSchema<v.ObjectSchema<{
        readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
        readonly intervalMs: v.OptionalSchema<v.NumberSchema<undefined>, number>;
        readonly maxAgeMs: v.OptionalSchema<v.NumberSchema<undefined>, number>;
        readonly scopes: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly ["messages"]>;
    }, undefined>, undefined>;
    readonly limiter: v.OptionalSchema<v.ObjectSchema<{
        readonly maxMessages: v.OptionalSchema<v.NumberSchema<undefined>, 20>;
        readonly durationMs: v.OptionalSchema<v.NumberSchema<undefined>, 10000>;
    }, undefined>, undefined>;
    readonly citation: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.CustomSchema<(...args: unknown[]) => Promise<number[]>, undefined>, undefined>, undefined>;
    readonly fakeReply: v.OptionalSchema<v.ObjectSchema<{
        readonly provider: v.UnionSchema<[v.PicklistSchema<["whatsapp", "meta", "chatgpt", "copilot", "instagram", "tiktok"], undefined>, v.NumberSchema<undefined>], undefined>;
    }, undefined>, undefined>;
    readonly sticker: v.OptionalSchema<v.ObjectSchema<{
        readonly packageName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly authorName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly quality: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
        readonly shape: v.OptionalSchema<v.OptionalSchema<v.PicklistSchema<["default", "rounded", "circle", "oval"], undefined>, "default">, undefined>;
    }, undefined>, undefined>;
    readonly authType: v.LiteralSchema<"pairing", undefined>;
    readonly phoneNumber: v.NumberSchema<undefined>;
}, undefined>, v.ObjectSchema<{
    readonly session: v.OptionalSchema<v.StringSchema<undefined>, "zaileys">;
    readonly prefix: v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.ArraySchema<v.StringSchema<undefined>, undefined>], undefined>, undefined>;
    readonly ignoreMe: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly showLogs: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly fancyLogs: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly syncFullHistory: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly disableFFmpeg: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly autoMarkAI: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoMentions: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoOnline: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoRead: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoPresence: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoRejectCall: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly showSpinner: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly maxReplies: v.OptionalSchema<v.NumberSchema<undefined>, 3>;
    readonly deleteSessionOnLogout: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
    readonly pluginsDir: v.OptionalSchema<v.StringSchema<undefined>, "plugins">;
    readonly pluginsHmr: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
    readonly autoCleanUp: v.OptionalSchema<v.ObjectSchema<{
        readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
        readonly intervalMs: v.OptionalSchema<v.NumberSchema<undefined>, number>;
        readonly maxAgeMs: v.OptionalSchema<v.NumberSchema<undefined>, number>;
        readonly scopes: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly ["messages"]>;
    }, undefined>, undefined>;
    readonly limiter: v.OptionalSchema<v.ObjectSchema<{
        readonly maxMessages: v.OptionalSchema<v.NumberSchema<undefined>, 20>;
        readonly durationMs: v.OptionalSchema<v.NumberSchema<undefined>, 10000>;
    }, undefined>, undefined>;
    readonly citation: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.CustomSchema<(...args: unknown[]) => Promise<number[]>, undefined>, undefined>, undefined>;
    readonly fakeReply: v.OptionalSchema<v.ObjectSchema<{
        readonly provider: v.UnionSchema<[v.PicklistSchema<["whatsapp", "meta", "chatgpt", "copilot", "instagram", "tiktok"], undefined>, v.NumberSchema<undefined>], undefined>;
    }, undefined>, undefined>;
    readonly sticker: v.OptionalSchema<v.ObjectSchema<{
        readonly packageName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly authorName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly quality: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
        readonly shape: v.OptionalSchema<v.OptionalSchema<v.PicklistSchema<["default", "rounded", "circle", "oval"], undefined>, "default">, undefined>;
    }, undefined>, undefined>;
    readonly authType: v.LiteralSchema<"qr", undefined>;
}, undefined>], undefined>;
declare const EventEnumType: v.PicklistSchema<["connection", "messages", "calls"], undefined>;
type EventCallbackType = {
    connection: (ctx: ConnectionContext) => void;
    messages: (ctx: MessagesContext) => void;
    calls: (ctx: CallsContext) => void;
};

declare const ButtonInteractiveReplyType: v.ObjectSchema<{
    readonly type: v.LiteralSchema<"quick_reply", undefined>;
    readonly id: v.StringSchema<undefined>;
    readonly text: v.StringSchema<undefined>;
}, undefined>;
declare const ButtonInteractiveUrlType: v.ObjectSchema<{
    readonly type: v.LiteralSchema<"cta_url", undefined>;
    readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
    readonly text: v.StringSchema<undefined>;
}, undefined>;
declare const ButtonInteractiveCopyType: v.ObjectSchema<{
    readonly type: v.LiteralSchema<"cta_copy", undefined>;
    readonly id: v.StringSchema<undefined>;
    readonly copy: v.StringSchema<undefined>;
    readonly text: v.StringSchema<undefined>;
}, undefined>;
declare const ButtonInteractiveCallType: v.ObjectSchema<{
    readonly type: v.LiteralSchema<"cta_call", undefined>;
    readonly text: v.StringSchema<undefined>;
    readonly phoneNumber: v.StringSchema<undefined>;
}, undefined>;
declare const ButtonInteractiveSingleSelectType: v.ObjectSchema<{
    readonly type: v.LiteralSchema<"single_select", undefined>;
    readonly text: v.StringSchema<undefined>;
    readonly section: v.ArraySchema<v.ObjectSchema<{
        readonly title: v.StringSchema<undefined>;
        readonly highlight_label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly rows: v.ArraySchema<v.ObjectSchema<{
            readonly id: v.StringSchema<undefined>;
            readonly title: v.StringSchema<undefined>;
            readonly header: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        }, undefined>, undefined>;
    }, undefined>, undefined>;
}, undefined>;
declare const ButtonInteractiveType: v.ObjectSchema<{
    readonly type: v.LiteralSchema<"interactive", undefined>;
    readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly data: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
        readonly type: v.LiteralSchema<"quick_reply", undefined>;
        readonly id: v.StringSchema<undefined>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"cta_url", undefined>;
        readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"cta_copy", undefined>;
        readonly id: v.StringSchema<undefined>;
        readonly copy: v.StringSchema<undefined>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"cta_call", undefined>;
        readonly text: v.StringSchema<undefined>;
        readonly phoneNumber: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"single_select", undefined>;
        readonly text: v.StringSchema<undefined>;
        readonly section: v.ArraySchema<v.ObjectSchema<{
            readonly title: v.StringSchema<undefined>;
            readonly highlight_label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly rows: v.ArraySchema<v.ObjectSchema<{
                readonly id: v.StringSchema<undefined>;
                readonly title: v.StringSchema<undefined>;
                readonly header: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            }, undefined>, undefined>;
        }, undefined>, undefined>;
    }, undefined>], undefined>, undefined>;
}, undefined>;
declare const ButtonSimpleType: v.ObjectSchema<{
    readonly type: v.LiteralSchema<"simple", undefined>;
    readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly data: v.ArraySchema<v.ObjectSchema<{
        readonly id: v.StringSchema<undefined>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, undefined>;
}, undefined>;
declare const ButtonCarouselCardType: v.ObjectSchema<{
    readonly body: v.StringSchema<undefined>;
    readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly header: v.OptionalSchema<v.ObjectSchema<{
        readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly subtitle: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly hasMediaAttachment: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
        readonly image: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly video: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    }, undefined>, undefined>;
    readonly nativeFlow: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
        readonly type: v.LiteralSchema<"quick_reply", undefined>;
        readonly id: v.StringSchema<undefined>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"cta_url", undefined>;
        readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"cta_copy", undefined>;
        readonly id: v.StringSchema<undefined>;
        readonly copy: v.StringSchema<undefined>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"cta_call", undefined>;
        readonly text: v.StringSchema<undefined>;
        readonly phoneNumber: v.StringSchema<undefined>;
    }, undefined>], undefined>, undefined>;
}, undefined>;
declare const ButtonCarouselType: v.ObjectSchema<{
    readonly type: v.LiteralSchema<"carousel", undefined>;
    readonly data: v.ArraySchema<v.ObjectSchema<{
        readonly body: v.StringSchema<undefined>;
        readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly header: v.OptionalSchema<v.ObjectSchema<{
            readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly subtitle: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly hasMediaAttachment: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
            readonly image: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly video: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        }, undefined>, undefined>;
        readonly nativeFlow: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
            readonly type: v.LiteralSchema<"quick_reply", undefined>;
            readonly id: v.StringSchema<undefined>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_url", undefined>;
            readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_copy", undefined>;
            readonly id: v.StringSchema<undefined>;
            readonly copy: v.StringSchema<undefined>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_call", undefined>;
            readonly text: v.StringSchema<undefined>;
            readonly phoneNumber: v.StringSchema<undefined>;
        }, undefined>], undefined>, undefined>;
    }, undefined>, undefined>;
}, undefined>;
declare const ButtonType: v.UnionSchema<[v.ObjectSchema<{
    readonly type: v.LiteralSchema<"simple", undefined>;
    readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly data: v.ArraySchema<v.ObjectSchema<{
        readonly id: v.StringSchema<undefined>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, undefined>;
}, undefined>, v.ObjectSchema<{
    readonly type: v.LiteralSchema<"interactive", undefined>;
    readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
    readonly data: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
        readonly type: v.LiteralSchema<"quick_reply", undefined>;
        readonly id: v.StringSchema<undefined>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"cta_url", undefined>;
        readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"cta_copy", undefined>;
        readonly id: v.StringSchema<undefined>;
        readonly copy: v.StringSchema<undefined>;
        readonly text: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"cta_call", undefined>;
        readonly text: v.StringSchema<undefined>;
        readonly phoneNumber: v.StringSchema<undefined>;
    }, undefined>, v.ObjectSchema<{
        readonly type: v.LiteralSchema<"single_select", undefined>;
        readonly text: v.StringSchema<undefined>;
        readonly section: v.ArraySchema<v.ObjectSchema<{
            readonly title: v.StringSchema<undefined>;
            readonly highlight_label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly rows: v.ArraySchema<v.ObjectSchema<{
                readonly id: v.StringSchema<undefined>;
                readonly title: v.StringSchema<undefined>;
                readonly header: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
                readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            }, undefined>, undefined>;
        }, undefined>, undefined>;
    }, undefined>], undefined>, undefined>;
}, undefined>, v.ObjectSchema<{
    readonly type: v.LiteralSchema<"carousel", undefined>;
    readonly data: v.ArraySchema<v.ObjectSchema<{
        readonly body: v.StringSchema<undefined>;
        readonly footer: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        readonly header: v.OptionalSchema<v.ObjectSchema<{
            readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly subtitle: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly hasMediaAttachment: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
            readonly image: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
            readonly video: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
        }, undefined>, undefined>;
        readonly nativeFlow: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
            readonly type: v.LiteralSchema<"quick_reply", undefined>;
            readonly id: v.StringSchema<undefined>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_url", undefined>;
            readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_copy", undefined>;
            readonly id: v.StringSchema<undefined>;
            readonly copy: v.StringSchema<undefined>;
            readonly text: v.StringSchema<undefined>;
        }, undefined>, v.ObjectSchema<{
            readonly type: v.LiteralSchema<"cta_call", undefined>;
            readonly text: v.StringSchema<undefined>;
            readonly phoneNumber: v.StringSchema<undefined>;
        }, undefined>], undefined>, undefined>;
    }, undefined>, undefined>;
}, undefined>], undefined>;

declare class Logs {
    private client;
    private logsInitialized;
    private logsDisplayed;
    private isReady;
    constructor(client: Client);
    getRoomColor(validator: any): "lime" | "blue" | "orange" | "dimgray";
    initialize(): void;
    private displayIndicator;
    message(message: Partial<MessagesContext>): void;
    call(call: Partial<CallsContext>): void;
}

type MiddlewareContextType = {
    messages?: Partial<MessagesContext>;
    calls?: Partial<CallsContext>;
};

type MiddlewareNext = () => Promise<void> | void;
type MiddlewareHandler<T> = (ctx: MiddlewareContextType, next: MiddlewareNext) => Promise<void> | void;
declare class Middleware<T> {
    private stack;
    use(handler: MiddlewareHandler<T>): this;
    run(ctx: MiddlewareContextType): Promise<void>;
}

type PluginsHandlerType = (wa: Client, ctx: MiddlewareContextType) => Promise<void> | void;
type PluginsConfigType = {
    matcher: (string | RegExp)[];
    metadata?: Record<string, unknown>;
};
type PluginDefinition = {
    handler: PluginsHandlerType;
    config: PluginsConfigType;
    filePath: string;
    parent: string | null;
    enabled: boolean;
};
declare class Plugins {
    private plugins;
    private pluginsDir;
    private globalEnabled;
    private disabledPlugins;
    private hmr;
    private watcher;
    private reloadTimer;
    constructor(pluginsDir?: string, hmr?: boolean);
    private getPluginId;
    load(): Promise<void>;
    setupHmr(): void;
    execute(wa: Client, ctx: MiddlewareContextType): Promise<void>;
    private match;
    enableAll(): void;
    disableAll(): void;
    enable(matcher: string | RegExp): number;
    disable(matcher: string | RegExp): number;
    enableByParent(parent: string): number;
    disableByParent(parent: string): number;
    isEnabled(): boolean;
    getLoadedPlugins(): PluginDefinition[];
    getPluginsInfo(): {
        matcher: (string | RegExp)[];
        metadata?: Record<string, unknown>;
        parent: string | null;
        enabled: boolean;
    }[];
    reload(): Promise<void>;
    stopHmr(): void;
}
declare const definePlugins: (handler: PluginsHandlerType, config: PluginsConfigType) => Omit<PluginDefinition, "parent" | "enabled" | "filePath">;

interface Client extends Signal, SignalGroup, SignalPrivacy, SignalNewsletter, SignalCommunity {
}
declare class Client {
    private _ready;
    logs: Logs;
    middleware: Middleware<any>;
    plugins: Plugins;
    health: HealthManager;
    cleanup: CleanUpManager;
    options: v.InferOutput<typeof ClientOptionsType>;
    constructor(options: v.InferInput<typeof ClientOptionsType>);
    initialize(client?: Client): Promise<void>;
    ready(): Promise<void>;
    db(scope: string): IStoreAdapter;
    on<T extends v.InferOutput<typeof EventEnumType>>(event: T, handler: EventCallbackType[T]): void;
    use<T>(handler: MiddlewareHandler<T>): this;
    get socket(): ReturnType<typeof baileys__default>;
    getRoomName(roomId: string): Promise<string>;
    inject<T = any>(key: string, value: T): void;
    getInjection<T = any>(key: string): T | undefined;
    removeInjection(key: string): void;
    clearInjections(): void;
}

declare const registerAuthCreds: (client: Client) => Promise<void>;

declare const logColor: (text: string, color?: string[] | string) => string;
declare const toJson: (object: unknown) => any;
declare const toString: (object: unknown) => string;
declare const shuffleString: (str?: string) => string;
declare const findGlobalWord: (text?: string, word?: string) => boolean;
declare const extractUrls: (text?: string) => any[] | RegExpMatchArray;
declare const randomize: (arr: string[]) => string;
declare const pickKeysFromArray: (arr: any[], keys: string[]) => any;
declare const findNestedByKeys: (data: unknown, target: Record<string, any> | Record<string, any>[]) => any;
declare const modifyFn: <T extends (...args: any[]) => any>(fn: T, before?: (args: any[]) => void | any, after?: (result: any, args: any[]) => any) => T;
declare const escapeRegExp: (text: string) => string;

declare const generateId: (input: string | string[]) => string;
declare const getUsersMentions: (text?: string) => string[];
declare const extractJids: (text?: string) => string[];
declare const resolveJids: (jids: (string | null | undefined)[]) => {
    id: string;
    lid: string;
};
declare const numbersToJids: (numbers: number[]) => string[];
declare const cleanMediaObject: (object: any) => Omit<any, "key" | "message" | "url" | "contextInfo" | "fileSha256" | "fileEncSha256" | "mediaKey" | "directPath" | "waveform" | "thumbnail" | "jpegThumbnail" | "thumbnailEncSha256" | "thumbnailSha256" | "thumbnailDirectPath" | "firstFrameSidecar" | "streamingSidecar" | "scansSidecar" | "callKey" | "midQualityFileSha256" | "historySyncNotification" | "appStateSyncKeyShare" | "appStateSyncKeyRequest" | "initialSecurityNotificationSettingSync" | "appStateFatalExceptionNotification" | "disappearingMode" | "peerDataOperationRequestMessage" | "peerDataOperationRequestResponseMessage" | "botFeedbackMessage">;
declare const getDeepContent: (raw?: proto.IMessage | null) => {
    leaf: any;
    chain: string[];
};
declare const cleanJid: (jid: string) => number;

declare const ignoreLint: (data: any) => any;
declare const getLatestLibVersion: () => Promise<any>;
declare const removeAuthCreds: (session: string) => Promise<void>;
declare const normalizeText: (text?: string) => string;

export { BaseMessagesType, ButtonCarouselCardType, ButtonCarouselType, ButtonInteractiveCallType, ButtonInteractiveCopyType, ButtonInteractiveReplyType, ButtonInteractiveSingleSelectType, ButtonInteractiveType, ButtonInteractiveUrlType, ButtonSimpleType, ButtonType, type CallsContext, CitationType, Client, ClientAuthPairingType, ClientAuthQRType, ClientBaseType, ClientOptionsType, ClientStickerOptionsType, ClientStickerShapeType, type ConnectionContext, DEVICE_ENUM_TYPES, type EventCallbackType, EventEnumType, FakeReplyType, LimiterType, ListenerCallsType, ListenerConnectionType, ListenerMessagesType, MESSAGE_ENUM_TYPES, type MessagesContext, type PluginDefinition, Plugins, type PluginsConfigType, type PluginsHandlerType, autoCleanUp, cleanJid, cleanMediaObject, definePlugins, escapeRegExp, extractJids, extractUrls, findGlobalWord, findNestedByKeys, generateId, getDeepContent, getLatestLibVersion, getUsersMentions, ignoreLint, logColor, modifyFn, normalizeText, numbersToJids, pickKeysFromArray, randomize, registerAuthCreds, removeAuthCreds, resolveJids, shuffleString, toJson, toString, useAuthState };
