import { type IEventDetail, type IEventEmitter } from '@breadstone/mosaik-elements';
import { CustomElement } from '../../Abstracts/CustomElement';
import type { ITourStep } from './ITourStep';
import type { ITourStepElementProps } from './ITourStepElementProps';
import type { ITourStepLabels } from './ITourStepLabels';
declare const TourStepElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * TourStep - Displays the content and navigation controls for a single tour step.
 *
 * @description
 * Rendered automatically by `mosaik-tour` to present one step of the guided tour.
 * The step data, first/last step flags, and navigation events are controlled by
 * the parent `mosaik-tour` - all via JavaScript properties, not HTML attributes.
 *
 * @name TourStep
 * @element mosaik-tour-step
 * @category Overlays
 *
 * @csspart actions - The actions part.
 * @csspart container - The container part.
 * @csspart content - The content part.
 * @csspart description - The description part.
 * @csspart finish - The finish part.
 * @csspart header - The header part.
 * @csspart next - The next part.
 * @csspart previous - The previous part.
 * @csspart skip - The skip part.
 * @csspart title - The title part.
 *
 * @cssprop {String} --tour-step-background-color - The step background color CSS custom property.
 * @cssprop {String} --tour-step-border-color - The step border color CSS custom property.
 * @cssprop {String} --tour-step-border-radius - The step border radius CSS custom property.
 * @cssprop {String} --tour-step-border-style - The step border style CSS custom property.
 * @cssprop {String} --tour-step-border-width - The step border width CSS custom property.
 * @cssprop {String} --tour-step-content-margin-bottom - The step content margin bottom CSS custom property.
 * @cssprop {String} --tour-step-font-family - The step font family CSS custom property.
 * @cssprop {String} --tour-step-font-letter-spacing - The step font letter spacing CSS custom property.
 * @cssprop {String} --tour-step-font-line-height - The step font line height CSS custom property.
 * @cssprop {String} --tour-step-font-size - The step font size CSS custom property.
 * @cssprop {String} --tour-step-font-text-decoration - The step font text decoration CSS custom property.
 * @cssprop {String} --tour-step-font-text-transform - The step font text transform CSS custom property.
 * @cssprop {String} --tour-step-font-weight - The step font weight CSS custom property.
 * @cssprop {String} --tour-step-foreground-color - The step foreground color CSS custom property.
 * @cssprop {String} --tour-step-gap - The step gap CSS custom property.
 * @cssprop {String} --tour-step-header-font-weight - The step header font weight CSS custom property.
 * @cssprop {String} --tour-step-header-margin-bottom - The step header margin bottom CSS custom property.
 * @cssprop {String} --tour-step-padding-bottom - The step padding bottom CSS custom property.
 * @cssprop {String} --tour-step-padding-left - The step padding left CSS custom property.
 * @cssprop {String} --tour-step-padding-right - The step padding right CSS custom property.
 * @cssprop {String} --tour-step-padding-top - The step padding top CSS custom property.
 * @cssprop {String} --tour-step-shadow - The step shadow CSS custom property.
 * @cssprop {String} --tour-step-shadow-blur - The step shadow blur CSS custom property.
 * @cssprop {String} --tour-step-shadow-color - The step shadow color CSS custom property.
 * @cssprop {String} --tour-step-shadow-offset-x - The step shadow offset x CSS custom property.
 * @cssprop {String} --tour-step-shadow-offset-y - The step shadow offset y CSS custom property.
 * @cssprop {String} --tour-step-shadow-spread - The step shadow spread CSS custom property.
 * @cssprop {String} --tour-step-transition-duration - The step transition duration CSS custom property.
 * @cssprop {String} --tour-step-transition-mode - The step transition mode CSS custom property.
 * @cssprop {String} --tour-step-transition-property - The step transition property CSS custom property.
 * @cssprop {String} --tour-step-translate - The step translate CSS custom property.
 *
 * @dependency mosaik-button - The Button element.
 *
 * @example
 * Tour step managed by the parent tour element:
 * ```html
 * <!-- mosaik-tour-step is rendered automatically by mosaik-tour -->
 * <mosaik-tour tour-id="onboarding"></mosaik-tour>
 * ```
 *
 * @public
 */
export declare class TourStepElement extends TourStepElement_base implements ITourStepElementProps {
    private readonly _previous;
    private readonly _next;
    private readonly _finish;
    private readonly _skip;
    private _step;
    private _isFirstStep;
    private _isLastStep;
    /**
     * @public
     */
    constructor();
    /**
     * Gets or sets the step data.
     *
     * @public
     */
    get step(): ITourStep | null;
    set step(value: ITourStep | null);
    /**
     * Gets or sets whether this is the first step.
     *
     * @public
     */
    get isFirstStep(): boolean;
    set isFirstStep(value: boolean);
    /**
     * Gets or sets whether this is the last step.
     *
     * @public
     */
    get isLastStep(): boolean;
    set isLastStep(value: boolean);
    /**
     * Provides resolved labels for the current step.
     *
     * @public
     * @readonly
     */
    get resolvedLabels(): ITourStepLabels;
    /**
     * Fired when the previous action is triggered.
     *
     * @public
     * @readonly
     * @eventProperty
     */
    get previous(): IEventEmitter<IEventDetail>;
    /**
     * Fired when the next action is triggered.
     *
     * @public
     * @readonly
     * @eventProperty
     */
    get next(): IEventEmitter<IEventDetail>;
    /**
     * Fired when the finish action is triggered.
     *
     * @public
     * @readonly
     * @eventProperty
     */
    get finish(): IEventEmitter<IEventDetail>;
    /**
     * Fired when the skip action is triggered.
     *
     * @public
     * @readonly
     * @eventProperty
     */
    get skip(): IEventEmitter<IEventDetail>;
    /**
     * Emits the previous action event.
     *
     * @public
     */
    onPreviousClicked(): void;
    /**
     * Emits the next action event.
     *
     * @public
     */
    onNextClicked(): void;
    /**
     * Emits the finish action event.
     *
     * @public
     */
    onFinishClicked(): void;
    /**
     * Emits the skip action event.
     *
     * @public
     */
    onSkipClicked(): void;
}
/**
 * @public
 */
export declare namespace TourStepElement {
    type Props = ITourStepElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-tour-step': TourStepElement;
    }
}
export {};
//# sourceMappingURL=TourStepElement.d.ts.map