import { R as ResponseSuccess, B as BaseAPI, a as RequesterClass } from './base-BhCbbsxB.js';
import { WabaConfigType } from './shared/types/config.js';
import { D as DataLocalizationRegionEnum } from './enums-DvwSJq9w.js';

type RegistrationRequest = {
    messaging_product: 'whatsapp';
    pin: string;
    data_localization_region?: DataLocalizationRegionEnum;
};
interface RegistrationClass {
    register(pin: string, dataLocalizationRegion?: DataLocalizationRegionEnum): Promise<ResponseSuccess>;
    deregister(): Promise<ResponseSuccess>;
}

/**
 * API for managing WhatsApp Business Account registration.
 *
 * This API allows you to:
 * - Register a WhatsApp Business Account with a PIN
 * - Deregister a WhatsApp Business Account
 */
declare class RegistrationApi extends BaseAPI implements RegistrationClass {
    constructor(config: WabaConfigType, client: RequesterClass);
    /**
     * Register a WhatsApp Business Account using a PIN.
     *
     * @param pin The registration PIN received via SMS or voice call
     * @param dataLocalizationRegion Optional data localization region
     * @returns Response indicating success or failure
     *
     * @example
     * await whatsappClient.registration.register('123456', DataLocalizationRegionEnum.Asia);
     */
    register(pin: string, dataLocalizationRegion?: DataLocalizationRegionEnum): Promise<ResponseSuccess>;
    /**
     * Deregister a WhatsApp Business Account.
     *
     * @returns Response indicating success or failure
     *
     * @example
     * await whatsappClient.registration.deregister();
     */
    deregister(): Promise<ResponseSuccess>;
}

export { RegistrationApi as R, type RegistrationClass as a, type RegistrationRequest as b };
