import { AfterViewInit, EventEmitter, QueryList, TemplateRef } from '@angular/core';
import { TemplateDirective } from '@seniorsistemas/angular-components/template';
import { FieldSetToggle } from './fieldset.models';
import * as i0 from "@angular/core";
/**
 * @description Componente de fieldset com legenda, ícone configurável e suporte a
 * toggle (recolher/expandir) com animação. Suporta template personalizado para o
 * cabeçalho via diretiva `TemplateDirective` com tipo `'header'`.
 *
 * @example
 * ```html
 * <s-fieldset legend="Dados pessoais" [toggleable]="true">
 *   <p>Conteúdo do fieldset</p>
 * </s-fieldset>
 * ```
 *
 * @category Inputs
 */
export declare class FieldsetComponent implements AfterViewInit {
    /** @description Texto exibido como título do fieldset. @default '' */
    legend: string;
    /** @description Habilita o botão de toggle que permite recolher e expandir o conteúdo. @default false */
    toggleable: boolean;
    /** @description Classe de ícone exibida ao lado da legenda (ex.: `'fas fa-cog'`). @default '' */
    icon: string;
    /** @description Quando `true`, remove o conteúdo do DOM ao recolher o fieldset. @default true */
    destroyOnHide: boolean;
    readonly templateDirectives: QueryList<TemplateDirective> | undefined;
    headerTemplate: TemplateRef<any> | undefined;
    /** @description Emitido imediatamente antes da animação de toggle iniciar, com o estado atual. */
    beforeToggle: EventEmitter<FieldSetToggle>;
    /** @description Emitido após a animação de toggle concluir, com o novo estado. */
    afterToggle: EventEmitter<FieldSetToggle>;
    active: boolean;
    ngAfterViewInit(): void;
    toggleActive(originalEvent: PointerEvent | KeyboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FieldsetComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FieldsetComponent, "s-fieldset", never, { "legend": { "alias": "legend"; "required": false; }; "toggleable": { "alias": "toggleable"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "destroyOnHide": { "alias": "destroyOnHide"; "required": false; }; }, { "beforeToggle": "beforeToggle"; "afterToggle": "afterToggle"; }, ["templateDirectives"], ["*"], true, never>;
}
