/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import Component from '@glimmer/component';
import type { ComponentLike } from '@glint/template';
import type { HdsStepperNavStepSignature } from './step';
import type { HdsStepperNavPanelSignature } from './panel';
import type { HdsStepperTitleTags, HdsStepperNavStep } from '../types.ts';
export interface HdsStepperNavSignature {
    Args: {
        steps?: HdsStepperNavStep[];
        currentStep?: number;
        isInteractive?: boolean;
        titleTag?: HdsStepperTitleTags;
        ariaLabel: string;
        onStepChange?: (event: MouseEvent, stepNumber: number) => void;
    };
    Blocks: {
        body?: [];
        default: [
            {
                Step?: ComponentLike<HdsStepperNavStepSignature>;
                Panel?: ComponentLike<HdsStepperNavPanelSignature>;
            }
        ];
    };
    Element: HTMLDivElement;
}
export default class HdsStepperNav extends Component<HdsStepperNavSignature> {
    private _stepIds;
    private _stepNodes;
    private _panelNodes;
    private _panelIds;
    private _element;
    private _setUpStepperNav;
    get currentStep(): number;
    get isInteractive(): boolean;
    get titleTag(): HdsStepperTitleTags;
    get inlineStyles(): Record<string, unknown>;
    get progressBarWidthStyle(): string;
    didInsertStep(): void;
    willDestroyStep(element: HTMLElement): void;
    didInsertPanel(): void;
    willDestroyPanel(element: HTMLElement): void;
    onKeyUp(currentStepIndex: number, event: KeyboardEvent): void;
    private updateSteps;
    private updatePanels;
    private findNextInteractiveStepIndex;
    private focusStep;
    get classNames(): string;
}
