import { Currency } from '@seniorsistemas/angular-components/currency';
import { NumberFieldConfig } from './number-field';
/**
 * Configuração para campo monetário com símbolo de moeda.
 *
 * @deprecated Use `BignumberFieldConfig` com `type: 'number'` ou `'double'` em combinação com
 * `leftAddon` ou `rightAddon` para exibir o símbolo monetário. Esta interface será removida
 * em versão futura.
 *
 * Estende `NumberFieldConfig` omitindo `alignTo`, `leftAddon` e `rightAddon`.
 */
export interface CurrencyFieldConfig extends Omit<NumberFieldConfig, 'type' | 'alignTo' | 'leftAddon' | 'rightAddon'> {
    /** Tipo do campo: sempre `'money'`. */
    type: 'money';
    /**
     * Alinhamento do texto dentro do campo.
     * `'left'` — alinhado à esquerda.
     * `'right'` — alinhado à direita (comum em campos monetários).
     */
    alignTo?: 'left' | 'right';
    /**
     * Função que retorna o objeto de moeda a ser exibido junto ao valor.
     * Inclui símbolo, código e formatação.
     * @example () => ({ symbol: 'R$', code: 'BRL' })
     */
    currency?: () => Currency;
}
declare module './field' {
    interface FieldTypeMap {
        money: CurrencyFieldConfig;
    }
}
