import type { MessageTemplate, MessageTemplatePreview, MessageTemplateVariable } from '../types/whatsapp.ts'; type TemplateHeaderFormat = NonNullable; type TemplateHeaderComponent = { type: 'HEADER'; format: TemplateHeaderFormat; text?: string; example?: { header_text?: Array; header_handle?: Array; }; }; type TemplateBodyComponent = { type: 'BODY'; text: string; example?: { body_text?: [Array]; }; }; type TemplateFooterComponent = { type: 'FOOTER'; text: string; }; type TemplateButton = { type: string; text?: string; url?: string; phone_number?: string; example?: Array; }; type TemplateButtonsComponent = { type: 'BUTTONS'; buttons: Array; }; type TemplateComponent = TemplateHeaderComponent | TemplateBodyComponent | TemplateFooterComponent | TemplateButtonsComponent | { type: string; [key: string]: unknown; }; export type CreateMessageTemplateTextHeaderInput = { type: 'HEADER'; format: 'TEXT'; text: string; exampleText?: Array; }; export type CreateMessageTemplateLocationHeaderInput = { type: 'HEADER'; format: 'LOCATION'; }; export type CreateMessageTemplateMediaHeaderInput = { type: 'HEADER'; format: 'IMAGE' | 'VIDEO' | 'DOCUMENT'; exampleHandle?: string; exampleUrl?: string; }; export type CreateMessageTemplateBodyInput = { type: 'BODY'; text: string; examples?: Array; }; export type CreateMessageTemplateFooterInput = { type: 'FOOTER'; text: string; }; export type CreateMessageTemplateQuickReplyButtonInput = { type: 'QUICK_REPLY'; text: string; }; export type CreateMessageTemplatePhoneNumberButtonInput = { type: 'PHONE_NUMBER'; text: string; phoneNumber: string; }; export type CreateMessageTemplateUrlButtonInput = { type: 'URL'; text: string; url: string; example?: Array; }; export type CreateMessageTemplateButtonInput = CreateMessageTemplateQuickReplyButtonInput | CreateMessageTemplatePhoneNumberButtonInput | CreateMessageTemplateUrlButtonInput; export type CreateMessageTemplateButtonsInput = { type: 'BUTTONS'; buttons: Array; }; export type CreateMessageTemplateComponentInput = CreateMessageTemplateTextHeaderInput | CreateMessageTemplateLocationHeaderInput | CreateMessageTemplateMediaHeaderInput | CreateMessageTemplateBodyInput | CreateMessageTemplateFooterInput | CreateMessageTemplateButtonsInput; export type UploadedMessageTemplateHeaderMedia = { componentIndex: number; format: 'IMAGE' | 'VIDEO' | 'DOCUMENT'; sourceUrl: string; fileHandle: string; }; export declare function createMessageTemplatePayload(input: Pick & { components: Array; }, options?: { uploadHeaderMedia?: (url: string) => Promise<{ fileHandle: string; }>; }): Promise<{ template: Pick; uploadedHeaderMedia: Array; }>; export declare function getMessageTemplateVariables(components: Array): Array; export declare function getMessageTemplatePreview(components: Array): MessageTemplatePreview; export {}; //# sourceMappingURL=whatsapp.d.ts.map