import { IconType } from "../../constants/icons";
export type StepperStepStatus = 'ready' | 'invalid' | 'valid';
export type StepperStepPosition = 'first' | 'last' | 'middle';
export declare class XStep {
    /**
     * Form element
     */
    private form;
    /**
     * Parent reference
     */
    private parent;
    /**
     * Next step button
     */
    private nextButton;
    /**
     * Submit the form on next/finish
     */
    submit: boolean;
    /**
     * Element disabled
     */
    active: boolean;
    /**
     * Element disabled
     */
    disabled: boolean;
    /**
     * Element state
     */
    status: StepperStepStatus;
    /**
     * Element state position
     */
    position?: StepperStepPosition;
    /**
     * Element display label
     */
    label: string;
    /**
     * Element display label description
     */
    description: string;
    /**
     * Element icon name
     */
    icon: IconType;
    /**
     * Element index state
     */
    index: number;
    /**
     * This function will fire before changing step
     */
    validate: () => Promise<void>;
    /**
     * Prev button icon
     */
    prevIcon: IconType;
    /**
     * Prev button text
     */
    prevText: string;
    /**
     * Next button icon
     */
    nextIcon: IconType;
    /**
     * Next button text
     */
    nextText: string;
    /**
     * Element append headers
     */
    appendHeaders: {
        [key: string]: string;
    };
    /**
     * Element loading state
     */
    loading: boolean;
    /**
     * Element change active prop
     */
    watchActive(newValue: boolean): void;
    /**
     * Element reference
     */
    el: Element;
    /**
     * Watch Element disabled state change
     */
    watchDisabled(): void;
    /**
     * On component did loaded hook
     */
    componentDidLoad(): void;
    /**
     * On form change loading state
     */
    private onFormLoadingDispatch;
    /**
     * On form detect changes on some input
     */
    private onFormChangeDispatch;
    /**
     * On press done button
     */
    private onDone;
    /**
     * Go to the next step
     */
    private nextStep;
    /**
     * Go to the previous step
     */
    private prevStep;
    /**
     * Evaluate step and submit before change
     */
    submitData(): Promise<void>;
    /**
     * Render element
     */
    render(): any;
}
