import type * as steps from '@zag-js/steps';
export interface RootProps {
    /**
     * The total number of steps
     */
    count?: number;
    /**
     * The initial value of the stepper when rendered.
     * Use when you don't need to control the value of the stepper.
     */
    defaultStep?: number;
    /**
     * The unique identifier of the machine.
     */
    id?: string;
    /**
     * The custom ids for the stepper elements
     */
    ids?: steps.ElementIds;
    /**
     * Function that returns whether a step can be skipped
     */
    isStepSkippable?: (index: number) => boolean;
    /**
     * Function that returns whether a step is valid
     */
    isStepValid?: (index: number) => boolean;
    /**
     * If `true`, the stepper requires the user to complete the steps in order
     */
    linear?: boolean;
    /**
     * The orientation of the stepper
     * @default "horizontal"
     */
    orientation?: 'horizontal' | 'vertical';
    /**
     * The controlled value of the stepper
     */
    step?: number;
}
export type RootEmits = {
    /**
     * Callback to be called when the value changes
     */
    stepChange: [details: steps.StepChangeDetails];
    /**
     * Callback to be called when a step is completed
     */
    stepComplete: [];
    /**
     * Callback to be called when a step is invalid
     */
    stepInvalid: [details: steps.StepInvalidDetails];
    /**
     * The callback fired when the model value changes.
     */
    'update:step': [step: number];
};
