import { ElementRef, EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
/**
 * @description Componente de chave tipo switch (liga/desliga) que implementa
 * `ControlValueAccessor` para uso em formulários Angular. Suporta rótulos
 * personalizados para os estados verdadeiro e falso, além de modo somente leitura.
 *
 * @example
 * ```html
 * <s-switch formControlName="ativo" trueLabel="Ativo" falseLabel="Inativo" />
 * ```
 *
 * @category Inputs
 */
export declare class SwitchComponent implements ControlValueAccessor {
    /** @description Impede alterações pelo usuário sem desabilitar o campo. @default false */
    readonly: boolean;
    /** @description Rótulo exibido quando o valor é `true`. @default 'Ligado' */
    trueLabel: string;
    /** @description Rótulo exibido quando o valor é `false`. @default 'Desligado' */
    falseLabel: string;
    /** @description `id` do elemento `<input>` interno para associação com `<label>`. */
    inputId?: string;
    /** @description Nome acessível descritivo do switch para tecnologias assistivas (aria-label). */
    label?: string;
    /** @description Atributo `name` do `<input>` interno. */
    inputName?: string;
    /** @description Desabilita o componente, impedindo interação e alterações. @default false */
    disabled: boolean;
    /** @description Emitido quando o valor do switch muda, com o novo estado booleano. */
    valueChanged: EventEmitter<boolean>;
    /** @description Valor atual do switch. @default false */
    value: boolean;
    /** @description Controla se deve ou não exibir o value do componente. @default true */
    showStatusLabel: boolean;
    switchRef: ElementRef;
    private _onChange?;
    private _onTouched?;
    onFocusIn(): void;
    onFocusOut(): void;
    writeValue(value: boolean): void;
    registerOnChange(onChange: (value: boolean) => void): void;
    registerOnTouched(onTouched: (value: boolean) => void): void;
    setDisabledState?(disabled: boolean): void;
    toggleCheck(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SwitchComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SwitchComponent, "s-switch", never, { "readonly": { "alias": "readonly"; "required": false; }; "trueLabel": { "alias": "trueLabel"; "required": false; }; "falseLabel": { "alias": "falseLabel"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "label": { "alias": "label"; "required": false; }; "inputName": { "alias": "inputName"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "showStatusLabel": { "alias": "showStatusLabel"; "required": false; }; }, { "valueChanged": "valueChanged"; }, never, never, false, never>;
}
