import type { BlipClient } from '../client.ts'; import type { Identity } from '../types/index.ts'; import type { MessageTemplate, WhatsAppTemplateLanguage, WhatsappFlow } from '../types/whatsapp.ts'; import { getMessageTemplateVariables } from '../utils/whatsapp.ts'; import { type ConsumeOptions, Namespace, type SendCommandOptions } from './namespace.ts'; export declare class WhatsAppNamespace extends Namespace { constructor(blipClient: BlipClient, defaultOptions?: SendCommandOptions); phoneToIdentity(phoneNumber: string, opts?: ConsumeOptions): Promise; /** * This is a heavily cached endpoint on Meta, so it may take a while to reflect changes * @param filters.status - Filter by status of the message template * @param filters.name - Filter by name of the message template, supports partial match */ getMessageTemplates(filters?: Partial<{ status: MessageTemplate['status']; name: string; }>, opts?: ConsumeOptions): Promise>; getMessageTemplate(templateName: string, language?: WhatsAppTemplateLanguage, opts?: ConsumeOptions): Promise<(MessageTemplate & { variables: ReturnType; }) | undefined>; createMessageTemplateAttachment(url: string, opts?: ConsumeOptions): Promise<{ uploadSessionId: string; fileHandle: string; fileSize: string; fileSizeUploaded: string; }>; createMessageTemplate(template: Pick, opts?: ConsumeOptions): Promise; createMessageTemplateAndPoll(template: Pick, opts?: ConsumeOptions): Promise; deleteMessageTemplate(templateName: string, opts?: ConsumeOptions): Promise; createFlow(flow: { name: string; category: string; endpointUri?: string; }, opts?: ConsumeOptions): Promise<{ id: string; }>; updateFlow(id: string, flow: { name?: string; endpointUri?: string; }, opts?: ConsumeOptions): Promise; updateFlowJson(id: string, json: string, opts?: ConsumeOptions): Promise; updateFlowsPublicKey(publicKey: string, opts?: ConsumeOptions): Promise; getFlows(opts?: ConsumeOptions): Promise>; getFlow(id: string, opts?: ConsumeOptions): Promise; publishFlow(id: string, opts?: ConsumeOptions): Promise; deprecateFlow(id: string, opts?: ConsumeOptions): Promise; getFlowAssets(id: string, opts?: ConsumeOptions): Promise>; deleteFlow(id: string, opts?: ConsumeOptions): Promise; isChannelActive(opts?: ConsumeOptions): Promise; getWabaDetails(opts?: ConsumeOptions): Promise<{ id: string; name: string; reviewStatus: 'APPROVED' | 'PENDING' | 'REJECTED'; currency: string; messageTemplateNamespace: string; }>; getPhoneNumberDetails(opts?: ConsumeOptions): Promise<{ id: string; account_mode: 'SANDBOX' | 'LIVE'; name_status: 'APPROVED' | 'DECLINED' | 'EXPIRED' | 'PENDING_REVIEW' | 'NONE'; new_name_status: 'APPROVED' | 'DECLINED' | 'EXPIRED' | 'PENDING_REVIEW' | 'NONE'; verified_name: string; display_phone_number: string; quality_rating: 'GREEN' | 'YELLOW' | 'RED' | 'UNKNOWN'; quality_score: { score: 'GREEN' | 'YELLOW' | 'RED' | 'UNKNOWN'; }; }>; getPhoneNumber(opts?: ConsumeOptions): Promise; } //# sourceMappingURL=whatsapp.d.ts.map