import * as PUPPET from '@juzi/wechaty-puppet';
import type PuppetWhatsApp from '../puppet-whatsapp.js';
import type { MessageContent, WhatsAppMessagePayload, MessageSendOptions } from '../schema/whatsapp-type.js';
import { FileBox } from '../config.js';
/**
  * Get contact message
  * @param messageId message Id
  * @returns contact name
  */
export declare function messageContact(this: PuppetWhatsApp, messageId: string): Promise<string>;
/**
* Recall message
* @param messageId message id
* @returns { Promise<boolean> }
*/
export declare function messageRecall(this: PuppetWhatsApp, messageId: string): Promise<boolean>;
/**
* Get moment detail image or video from message
* @param messageId message id
* @param imageType image size to get (may not apply to WhatsApp)
* @returns the image or video
*/
export declare function messagePost(this: PuppetWhatsApp, messageId: string, imageType: PUPPET.types.Image): Promise<FileBox>;
/**
* Get image from message
* @param messageId message id
* @param imageType image size to get (may not apply to WhatsApp)
* @returns the image
*/
export declare function messageImage(this: PuppetWhatsApp, messageId: string, imageType: PUPPET.types.Image): Promise<FileBox>;
/**
* Get the file attached to the message
* @param messageId message id
* @returns the file that attached to the message
*/
export declare function messageFile(this: PuppetWhatsApp, messageId: string): Promise<FileBox>;
/**
* Get url in the message
* @param messageId message id
* @returns url in the message
*/
export declare function messageUrl(this: PuppetWhatsApp, messageId: string): Promise<PUPPET.payloads.UrlLink>;
/**
* Not supported for WhatsApp
* @param messageId message id
*/
export declare function messageMiniProgram(this: PuppetWhatsApp, messageId: string): Promise<PUPPET.payloads.MiniProgram>;
export declare function messageChannel(this: PuppetWhatsApp, messageId: string): Promise<PUPPET.payloads.Channel>;
export declare function messageSend(this: PuppetWhatsApp, conversationId: string, content: MessageContent, options?: MessageSendOptions, timeout?: number): Promise<string>;
export declare function messageSendText(this: PuppetWhatsApp, conversationId: string, text: string, options?: PUPPET.types.MessageSendTextOptions): Promise<void | string>;
export declare function messageSendFile(this: PuppetWhatsApp, conversationId: string, file: FileBox, options?: MessageSendOptions): Promise<void | string>;
export declare function messageSendContact(this: PuppetWhatsApp, conversationId: string, contactId: string, options?: MessageSendOptions): Promise<void>;
export declare function messageSendUrl(this: PuppetWhatsApp, conversationId: string, urlLinkPayload: PUPPET.payloads.UrlLink): Promise<string | void>;
export declare function messageSendMiniProgram(this: PuppetWhatsApp, conversationId: string, miniProgramPayload: PUPPET.payloads.MiniProgram): Promise<string | void>;
export declare function messageSendChannel(this: PuppetWhatsApp, conversationId: string, channelPayload: PUPPET.payloads.Channel): Promise<void>;
export declare function messageSendLocation(this: PuppetWhatsApp, conversationId: string, locationPayload: PUPPET.payloads.Location): Promise<string>;
export declare function messageLocation(this: PuppetWhatsApp, messageId: string): Promise<PUPPET.payloads.Location>;
export declare function messageForward(this: PuppetWhatsApp, conversationId: string, messageId: string): Promise<void>;
export declare function messageRawPayload(this: PuppetWhatsApp, id: string): Promise<WhatsAppMessagePayload>;
export declare function messageRawPayloadParser(this: PuppetWhatsApp, whatsAppPayload: WhatsAppMessagePayload): Promise<PUPPET.payloads.Message>;
//# sourceMappingURL=message.d.ts.map