import { DSLanguage } from '../../utils';
import { Step } from './Step';
import { StepperProps } from './Stepper';
export type StepperAriaAttributes = 'aria-label' | 'aria-labelledby';
export declare const STEPPER_ALIGNMENT: readonly ["left", "center"];
export type StepperAlignment = (typeof STEPPER_ALIGNMENT)[number];
export declare const STEPPER_ORIENTATION: readonly ["horizontal", "vertical"];
export type StepperOrientation = (typeof STEPPER_ORIENTATION)[number];
export type ValidateStepperPropsParams = Pick<StepperProps, 'aria' | 'steps'>;
export declare const validateStepperProps: ({ aria, steps, }: ValidateStepperPropsParams) => void;
export type StepperLanguage = DSLanguage;
export type StepperTranslations = {
    /** Label for the current step. */
    current: string;
    /** Word "completed" used in step state announcements. */
    completed: string;
    /** Word "Step" used in step announcements. */
    step: string;
    /** Word "of" used in step position announcements (e.g. "Step 1 of 3"). */
    of: string;
};
export declare const DS_STEPPER_TRANSLATIONS_EN: StepperTranslations;
export declare const DS_STEPPER_TRANSLATIONS_DE: StepperTranslations;
export declare const DS_STEPPER_TRANSLATIONS: Record<string, StepperTranslations>;
/**
 * Get the current step in the stepper.
 * If no step is marked as 'current', the last step with a defined state is returned.
 * If no steps have a defined state, the first step is returned.
 * @param steps The array of steps.
 * @returns The current step.
 */
export declare const getCurrentStep: (steps: Step[]) => Step;
export declare const getCurrentStepIndex: (steps: Step[]) => number;
export declare const isStepClickable: (state: Step["state"], disabled: boolean | undefined) => boolean;
