import { RenderResult } from '@dojo/framework/core/interfaces';
export interface Step {
    title?: RenderResult;
    subTitle?: RenderResult;
    description?: RenderResult;
    status?: StepStatus;
}
export interface WizardProperties {
    /** A callback that will be notified when a step is clicked if this is clickable */
    onStep?(step: number): void;
    /** Direction for steps. Defaults to horizontal */
    direction?: 'horizontal' | 'vertical';
    /** Indicates whether steps should respond to clicks. Defaults to false */
    clickable?: boolean;
    /** The active step can be controlled to automatically set step status. Will be overridden by statuses provided to each step. If this property is not used, individual statuses should be passed to steps */
    activeStep?: number;
    /** The steps available to the wizard */
    steps: Step[];
}
export declare type StepRenderer = (status: StepStatus | undefined, index: number, step: Step) => RenderResult;
export interface WizardChildren {
    /** Custom renderer for the wizardSteps, receives the checkbox group middleware and options */
    step?: StepRenderer;
}
export declare type StepStatus = 'pending' | 'inProgress' | 'complete' | 'error';
declare const _default: import("@dojo/framework/core/interfaces").OptionalWNodeFactory<{
    properties: WizardProperties & import("@dojo/framework/core/interfaces").WidgetProperties & {
        variant?: "default" | "inherit" | undefined;
    } & import("@dojo/framework/core/middleware/theme").ThemeProperties;
    children: string | number | boolean | import("@dojo/framework/core/interfaces").VNode | import("@dojo/framework/core/interfaces").WNode<any> | import("@dojo/framework/core/interfaces").DNode<any>[] | RenderResult[] | WizardChildren;
}>;
export default _default;
