import { ApiService } from '../../api/service.mjs';
import { AudioMessageOptions, AudioMessageResponse } from './schemas/audio.mjs';
import { ContactMessageOptions, ContactMessageResponse } from './schemas/contact.mjs';
import { DocumentMessageOptions, DocumentMessageResponse } from './schemas/document.mjs';
import { ImageMessageOptions, ImageMessageResponse } from './schemas/image.mjs';
import { LocationMessageOptions, LocationMessageResponse } from './schemas/location.mjs';
import { StickerMessageOptions, StickerMessageResponse } from './schemas/sticker.mjs';
import { TextMessageOptions, TextMessageResponse } from './schemas/text.mjs';
import { VideoMessageOptions, VideoMessageResponse } from './schemas/video.mjs';
import { VoiceMessageOptions, VoiceMessageResponse } from './schemas/voice.mjs';
import '../../schemas/client.mjs';
import 'zod';
import '../../types/api.mjs';
import 'libphonenumber-js';
import '../../types/tags.mjs';

declare class MessagesModule {
    private readonly api;
    constructor(api: ApiService);
    /**
     * Sends a text message
     * @param options - Text message options
     */
    sendText(options: TextMessageOptions): Promise<TextMessageResponse>;
    /**
     * Sends an image
     * @param options - Image message options
     */
    sendImage(options: ImageMessageOptions): Promise<ImageMessageResponse>;
    /**
     * Sends a video
     * @param options - Video message options
     */
    sendVideo(options: VideoMessageOptions): Promise<VideoMessageResponse>;
    /**
     * Sends a document
     * @param options - Document message options
     */
    sendDocument(options: DocumentMessageOptions): Promise<DocumentMessageResponse>;
    /**
     * Sends an audio
     * @param options - Audio message options
     */
    sendAudio(options: AudioMessageOptions): Promise<AudioMessageResponse>;
    /**
     * Sends a voice message
     * @param options - Voice message options
     */
    sendVoice(options: VoiceMessageOptions): Promise<VoiceMessageResponse>;
    /**
     * Sends a sticker
     * @param options - Sticker message options
     */
    sendSticker(options: StickerMessageOptions): Promise<StickerMessageResponse>;
    /**
     * Sends a location
     * @param options - Location message options
     */
    sendLocation(options: LocationMessageOptions): Promise<LocationMessageResponse>;
    /**
     * Sends a contact
     * @param options - Contact message options
     */
    sendContact(options: ContactMessageOptions): Promise<ContactMessageResponse>;
}

export { MessagesModule };
