import { BooleanOptionsLabelConfig } from './boolean-field';
import { FieldConfig } from './field';
/**
 * Configuração para campo booleano com exibição como toggle switch.
 *
 * Renderiza um interruptor visual de liga/desliga. Use quando o campo representa
 * uma preferência ou configuração que pode ser ativada ou desativada de forma imediata.
 *
 * Diferente do `BooleanFieldConfig` (rádio sim/não), este campo usa o componente `s-switch`.
 */
export interface BooleanSwitchFieldConfig extends FieldConfig {
    /** Tipo do campo: sempre `'booleanSwitch'`. */
    type: 'booleanSwitch';
    /**
     * Callback chamado quando o estado do switch muda (ligado ⇔ desligado).
     */
    onChange?: (event: any) => void;
    /**
     * Labels opcionais exibidas ao lado do switch representando os estados.
     * Se omitido, o switch é exibido sem labels de texto.
     * @example { true: 'Ativo', false: 'Inativo' }
     */
    optionsLabel?: BooleanOptionsLabelConfig;
}
declare module './field' {
    interface FieldTypeMap {
        booleanSwitch: BooleanSwitchFieldConfig;
    }
}
