import { PnLanguages } from "../../../index";
import { EventEmitter } from '../../../stencil-public-runtime';
/**
 * The wizard component lets you highlight areas on the page
 * that is accompanied with a modal for user guidance.
 *
 * Either use the label & helpertext props to set a title and description,
 * or use the default slot to add custom HTML content.
 *
 * The steps prop takes an array of querySelectors that the wizard will highlight in order.
 * Set the step prop to start the wizard at a specific step (0-indexed). -1 closes the wizard.
 *
 * @slot - The default slot can be used to add custom content to the wizard modal.
 * @slot buttons - Use this slot to add custom buttons to the wizard controls area.
 * Its a good idea to combine these with the `hide-back`, `hide-next` and `hide-finish` props.
 *
 * @since v7.19.0
 */
export declare class PnWizard {
    private readonly id;
    private wizardIdLabel;
    private wizardIdHelpertext;
    private wizardElement;
    private wizardContent;
    private wizardArrow;
    private timeoutRerender;
    hostElement: HTMLElement;
    /** Set a title for the wizard. */
    label?: string;
    /** Set a helpertext for the wizard. */
    helpertext?: string;
    /** Manually set the language. */
    language?: PnLanguages;
    /** Set a custom HTML id. */
    pnId?: string;
    /**
     * Assign the current step.
     * Any value above -1 is valid and will start the wizard.
     * @category Wizard steps
     **/
    step: number;
    /**
     * The list of querySelectors that the wizards will highlight.
     * Recommended maximum of 7 steps.
     * @category Wizard steps
     **/
    steps: string[];
    /**
     * Choose to display one of 2 built in progress steppers.
     * - `dots`: The pn-progress-stepper with the `dots` prop.
     * - `text`: simple text indicator "current/total"
     * @category Features
     */
    progress?: '' | 'dots' | 'text';
    /** Choose where the scrolling will focus on the highlighted elements. @category Features */
    scrollBlock: 'start' | 'center' | 'end' | 'nearest';
    /**
     * By default, the component will hide the overflow on the body element when active.
     * You may wish to disable this if your HTML/CSS structure is not compatible with this behavior.
     * @category Features
     */
    displayOverflow: boolean;
    /** Hide the back button. @category Buttons */
    hideBack?: boolean;
    /** Hide the next button. @category Buttons */
    hideNext: boolean;
    /** Hide the finish button. @category Buttons */
    hideFinish?: boolean;
    /** Set a custom label for the back button. @category Buttons */
    labelBack?: string;
    /** Set a custom label for the next button. @category Buttons */
    labelNext?: string;
    /** Set a custom label for the finish button. @category Buttons */
    labelFinish?: string;
    /** Emitted when the wizard step changes. */
    wizardStep: EventEmitter<{
        step: number;
        next: boolean;
        prev: boolean;
    }>;
    /** Emitted when the highlighted area is clicked. */
    wizardHighlightClick: EventEmitter<PointerEvent>;
    /** Emitted when the wizard is canceled or finished. */
    wizardClose: EventEmitter<{
        step: number;
        finished: boolean;
    }>;
    handleStepChange(step: number, prevStep: number): void;
    handleIdChange(): void;
    handleOverflow(): void;
    componentWillLoad(): Promise<void>;
    componentDidRender(): void;
    private getRect;
    private translate;
    private handleDisplayOverflow;
    /** Is the step within the valid range of available {@link steps}. */
    private isActive;
    private isOpen;
    private isClosed;
    private isFirstStep;
    private isLastStep;
    private isProgressDots;
    private isProgressText;
    /**
     * By default, the `pn-progress-stepper` will always render,
     * but is hidden from view unless `dots` is assinged to {@link progress}.
     *
     * The only exception is when there are more than 7 steps. Something that the stepper does not allow.
     */
    private renderProgress;
    private showBackButton;
    private showNextButton;
    private showFinishButton;
    private runStepLogic;
    private nextStep;
    private prevStep;
    private endWizard;
    private getNextLabel;
    private getHighlightTarget;
    private getHighlightRect;
    private scrollToElement;
    private highlightElement;
    private positionModal;
    private setHighlightVars;
    private setModalVars;
    private setArrowVars;
    render(): any;
}
