import { CountryPhoneData, Ordination, PhoneSelectionData } from '@seniorsistemas/angular-components/country-phone-picker';
import { FieldConfig } from './field';
/**
 * Configuração para campo de seleção de país com entrada de número de telefone.
 *
 * Combina um dropdown de seleção de país (com bandeira e código DDI) com um campo de telefone
 * que aplica automaticamente a máscara de cada país selecionado.
 *
 * O valor do campo é do tipo `PhoneSelectionData`, contendo o país e o número.
 */
export interface CountryPhonePickerConfig extends FieldConfig {
    /** Tipo do campo: sempre `'countryPhonePicker'`. */
    type: 'countryPhonePicker';
    /**
     * Lista de códigos de países disponíveis no dropdown.
     * Use códigos ISO 3166-1 alpha-2 em maiúsculas.
     * @example ['BR', 'US', 'AR', 'DE']
     */
    countries: string[];
    /**
     * Critério de ordenação dos países no dropdown.
     * Importado de `@seniorsistemas/angular-components/country-phone-picker`.
     */
    ordination: Ordination;
    /**
     * Callback obrigatório chamado quando o país é selecionado.
     * Recebe os dados do país escolhido (nome, DDI, código).
     */
    onSelected: (data: CountryPhoneData) => void;
    /**
     * Callback chamado quando o campo de telefone perde o foco.
     * Recebe os dados completos da seleção (país + número), ou `null` se vazio.
     */
    onFocusLost?: (data: PhoneSelectionData | null) => void;
}
declare module './field' {
    interface FieldTypeMap {
        countryPhonePicker: CountryPhonePickerConfig;
    }
}
