import { ApiService } from './api/service.js';
import { ChatsModule } from './modules/chats/index.js';
import { GroupsModule } from './modules/groups/index.js';
import { MessagesModule } from './modules/messages/index.js';
import { ClientOptions } from './schemas/client.js';
export { EvolutionApiError } from './api/errors.js';
export { ChatId, GroupJid, Jid, MessageId } from './types/tags.js';
export { phoneNumberFromJid } from './utils/phone-numer-from-jid.js';
export { CheckOptions, CheckResponse } from './modules/chats/schemas/check.js';
export { FindAllChatsResponse } from './modules/chats/schemas/find-all.js';
export { PresenceOptions } from './modules/chats/schemas/presence.js';
export { GroupResponse, GroupWithParticipantsResponse, ParticipantResponse } from './modules/groups/schemas/common.js';
export { FindAllGroupsResponse, FindAllGroupsWithParticipantsResponse } from './modules/groups/schemas/find-all.js';
export { FindGroupByInviteCodeResponse } from './modules/groups/schemas/find-by-invite-code.js';
export { FindGroupByJidResponse } from './modules/groups/schemas/find-by-jid.js';
export { AudioMessageOptions, AudioMessageResponse } from './modules/messages/schemas/audio.js';
export { BaseMessageOptions } from './modules/messages/schemas/base.js';
export { ContactMessageOptions, ContactMessageResponse } from './modules/messages/schemas/contact.js';
export { DocumentMessageOptions, DocumentMessageResponse } from './modules/messages/schemas/document.js';
export { ImageMessageOptions, ImageMessageResponse } from './modules/messages/schemas/image.js';
export { LocationMessageOptions, LocationMessageResponse } from './modules/messages/schemas/location.js';
export { PollMessageOptions, PollMessageResponse } from './modules/messages/schemas/poll.js';
export { StickerMessageOptions, StickerMessageResponse } from './modules/messages/schemas/sticker.js';
export { TextMessageOptions, TextMessageResponse } from './modules/messages/schemas/text.js';
export { VideoMessageOptions, VideoMessageResponse } from './modules/messages/schemas/video.js';
export { VoiceMessageOptions, VoiceMessageResponse } from './modules/messages/schemas/voice.js';
import './types/api.js';
import 'zod';
import 'libphonenumber-js';

declare class EvolutionClient {
    readonly options: ClientOptions;
    /**
     * API service for directly interacting with the Evolution API (no specific typings)
     */
    readonly api: ApiService;
    /**
     * Find and manage chats, send presences and check numbers
     */
    readonly chats: ChatsModule;
    /**
     * Find and manage groups
     */
    readonly groups: GroupsModule;
    /**
     * Send messages
     */
    readonly messages: MessagesModule;
    /**
     * Evolution Client - API client for interacting with the Evolution API
     * @param options - Client options
     */
    constructor(options: ClientOptions);
}

export { ClientOptions, EvolutionClient };
