import { EventEmitter, OnInit, AfterViewInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { NavigationButtonItem } from './models/navigation-button-item';
import { NavigationButtonStepChangedInfo } from './models';
import { TieredMenuItemData } from '@seniorsistemas/angular-components/tiered-menu';
import * as i0 from "@angular/core";
/**
 * @description Componente de navegação por etapas que exibe o estado atual (step)
 * com suporte a avanço, retrocesso e seleção direta via dropdown (`TieredMenu`).
 * Implementa `ControlValueAccessor` para integração com formulários Angular.
 *
 * @example
 * ```html
 * <s-navigation-button
 *   [steps]="etapas"
 *   (stepChanged)="onEtapaMudou($event)" />
 * ```
 *
 * @category Inputs
 */
export declare class NavigationButtonComponent implements ControlValueAccessor, OnInit, AfterViewInit {
    private readonly changeDetectorRef;
    /** @description Lista de etapas de navegação. Campo obrigatório. */
    steps: NavigationButtonItem[];
    /** @description Valor padrão a ser selecionado ao inicializar o componente. */
    defaultValue: unknown;
    /** @description Texto exibido no tooltip do botão principal. */
    tooltip?: string;
    /** @description Quando `true`, emite `stepChanged` durante a inicialização com a etapa atual. @default false */
    changeOnInit: boolean;
    /** @description Emitido quando o usuário navega para uma nova etapa, com informações da etapa anterior e atual. */
    stepChanged: EventEmitter<NavigationButtonStepChangedInfo>;
    currentIndex: number;
    isDisabled: boolean;
    tieredMenuItems: TieredMenuItemData[];
    private _onChange?;
    private _onTouched?;
    private _value;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    private _setDefaultValue;
    writeValue(value: unknown): void;
    registerOnChange(onChange: (value: unknown) => void): void;
    registerOnTouched(onTouched: () => void): void;
    setDisabledState?(isDisabled: boolean): void;
    onNext(): void;
    onPrevious(): void;
    private _createTieredMenuItems;
    static ɵfac: i0.ɵɵFactoryDeclaration<NavigationButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NavigationButtonComponent, "s-navigation-button", never, { "steps": { "alias": "steps"; "required": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "changeOnInit": { "alias": "changeOnInit"; "required": false; }; }, { "stepChanged": "stepChanged"; }, never, never, false, never>;
}
