import * as MessengerTypes from './MessengerTypes';
declare function sendRequest(body: object, options?: MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendMessage(psidOrRecipient: MessengerTypes.PsidOrRecipient, msg: MessengerTypes.Message, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendText(psidOrRecipient: MessengerTypes.PsidOrRecipient, text: string, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendAttachment(psidOrRecipient: MessengerTypes.PsidOrRecipient, attachment: MessengerTypes.Attachment, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendAudio(psidOrRecipient: MessengerTypes.PsidOrRecipient, audio: string | MessengerTypes.MediaAttachmentPayload, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendImage(psidOrRecipient: MessengerTypes.PsidOrRecipient, image: string | MessengerTypes.MediaAttachmentPayload, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendVideo(psidOrRecipient: MessengerTypes.PsidOrRecipient, video: string | MessengerTypes.MediaAttachmentPayload, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendFile(psidOrRecipient: MessengerTypes.PsidOrRecipient, file: string | MessengerTypes.MediaAttachmentPayload, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendTemplate(psidOrRecipient: MessengerTypes.PsidOrRecipient, payload: MessengerTypes.TemplateAttachmentPayload, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendButtonTemplate(psidOrRecipient: MessengerTypes.PsidOrRecipient, text: string, buttons: MessengerTypes.TemplateButton[], options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendGenericTemplate(psidOrRecipient: MessengerTypes.PsidOrRecipient, elements: MessengerTypes.TemplateElement[], { imageAspectRatio, ...options }?: {
    imageAspectRatio?: 'horizontal' | 'square';
} & MessengerTypes.SendOption): MessengerTypes.BatchItem;
declare function sendReceiptTemplate(psidOrRecipient: MessengerTypes.PsidOrRecipient, receipt: MessengerTypes.ReceiptAttributes, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendMediaTemplate(psidOrRecipient: MessengerTypes.PsidOrRecipient, elements: MessengerTypes.MediaElement[], options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendAirlineBoardingPassTemplate(psidOrRecipient: MessengerTypes.PsidOrRecipient, attrs: MessengerTypes.AirlineBoardingPassAttributes, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendAirlineCheckinTemplate(psidOrRecipient: MessengerTypes.PsidOrRecipient, attrs: MessengerTypes.AirlineCheckinAttributes, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendAirlineItineraryTemplate(psidOrRecipient: MessengerTypes.PsidOrRecipient, attrs: MessengerTypes.AirlineItineraryAttributes, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendAirlineUpdateTemplate(psidOrRecipient: MessengerTypes.PsidOrRecipient, attrs: MessengerTypes.AirlineUpdateAttributes, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendOneTimeNotifReqTemplate(psidOrRecipient: MessengerTypes.PsidOrRecipient, attrs: MessengerTypes.OneTimeNotifReqAttributes, options?: MessengerTypes.SendOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function getUserProfile(userId: string, options?: {
    fields?: MessengerTypes.UserProfileField[];
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function getUserPersistentMenu(userId: string, options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function setUserPersistentMenu(userId: string, menuItems: MessengerTypes.MenuItem[] | MessengerTypes.PersistentMenuItem[], options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function deleteUserPersistentMenu(userId: string, options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function sendSenderAction(psidOrRecipient: MessengerTypes.PsidOrRecipient, senderAction: MessengerTypes.SenderAction, options?: MessengerTypes.SenderActionOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function typingOn(idOrRecipient: MessengerTypes.PsidOrRecipient, options?: MessengerTypes.SenderActionOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function typingOff(idOrRecipient: MessengerTypes.PsidOrRecipient, options?: MessengerTypes.SenderActionOption & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function markSeen(idOrRecipient: MessengerTypes.PsidOrRecipient, options?: MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function passThreadControl(recipientId: string, targetAppId: number, metadata?: string, options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function passThreadControlToPageInbox(recipientId: string, metadata?: string, options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function takeThreadControl(recipientId: string, metadata?: string, options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function requestThreadControl(recipientId: string, metadata?: string, options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function getThreadOwner(recipientId: string, options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function associateLabel(userId: string, labelId: number, options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function dissociateLabel(userId: string, labelId: number, options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare function getAssociatedLabels(userId: string, options?: {
    accessToken?: string;
} & MessengerTypes.BatchRequestOptions): MessengerTypes.BatchItem;
declare const MessengerBatch: {
    sendRequest: typeof sendRequest;
    sendMessage: typeof sendMessage;
    sendText: typeof sendText;
    sendAttachment: typeof sendAttachment;
    sendAudio: typeof sendAudio;
    sendImage: typeof sendImage;
    sendVideo: typeof sendVideo;
    sendFile: typeof sendFile;
    sendTemplate: typeof sendTemplate;
    sendButtonTemplate: typeof sendButtonTemplate;
    sendGenericTemplate: typeof sendGenericTemplate;
    sendReceiptTemplate: typeof sendReceiptTemplate;
    sendMediaTemplate: typeof sendMediaTemplate;
    sendAirlineBoardingPassTemplate: typeof sendAirlineBoardingPassTemplate;
    sendAirlineCheckinTemplate: typeof sendAirlineCheckinTemplate;
    sendAirlineItineraryTemplate: typeof sendAirlineItineraryTemplate;
    sendAirlineUpdateTemplate: typeof sendAirlineUpdateTemplate;
    sendOneTimeNotifReqTemplate: typeof sendOneTimeNotifReqTemplate;
    getUserProfile: typeof getUserProfile;
    getUserPersistentMenu: typeof getUserPersistentMenu;
    setUserPersistentMenu: typeof setUserPersistentMenu;
    deleteUserPersistentMenu: typeof deleteUserPersistentMenu;
    sendSenderAction: typeof sendSenderAction;
    typingOn: typeof typingOn;
    typingOff: typeof typingOff;
    markSeen: typeof markSeen;
    passThreadControl: typeof passThreadControl;
    passThreadControlToPageInbox: typeof passThreadControlToPageInbox;
    takeThreadControl: typeof takeThreadControl;
    requestThreadControl: typeof requestThreadControl;
    getThreadOwner: typeof getThreadOwner;
    associateLabel: typeof associateLabel;
    dissociateLabel: typeof dissociateLabel;
    getAssociatedLabels: typeof getAssociatedLabels;
};
export default MessengerBatch;
//# sourceMappingURL=MessengerBatch.d.ts.map