import { Locator, Page } from "@playwright/test";
import { BaseElement } from "./BaseElement";
/**
 * Class representing a Steps component.
 * Extends the BaseElement class.
 * Provides methods to interact with all Steps component functionality including navigation buttons,
 * step indicators, and step content.
 */
export declare class Steps extends BaseElement {
    private backButton;
    private nextButton;
    private finishButton;
    /**
     * Create a Steps element.
     * @param {Page} page - The Playwright page object.
     * @param {Locator} locator - The locator for the Steps element.
     * @param {string} elementReportName - The name for reporting purposes.
     */
    constructor(page: Page, locator: Locator, elementReportName: string);
    /**
     * Click the back button to go to the previous step.
     * @returns {Promise<void>}
     */
    goToPreviousStep(): Promise<void>;
    /**
     * Click the next button to go to the next step.
     * @returns {Promise<void>}
     */
    goToNextStep(): Promise<void>;
    /**
     * Click the finish button to complete the steps.
     * @returns {Promise<void>}
     */
    finish(): Promise<void>;
    /**
     * Check if the back button is enabled.
     * @returns {Promise<boolean>} True if the back button is enabled.
     */
    isBackButtonEnabled(): Promise<boolean>;
    /**
     * Check if the next button is enabled.
     * @returns {Promise<boolean>} True if the next button is enabled.
     */
    isNextButtonEnabled(): Promise<boolean>;
    /**
     * Check if the finish button is visible.
     * @returns {Promise<boolean>} True if the finish button is visible.
     */
    isFinishButtonVisible(): Promise<boolean>;
    /**
     * Get all step dots (for gallery type steps).
     * @returns {Promise<Locator[]>} An array of step dot locators.
     */
    private getStepDots;
    /**
     * Click on a specific step dot to navigate to that step.
     * @param {number} stepIndex - The index of the step to navigate to (0-based).
     * @returns {Promise<void>}
     */
    clickStepDot(stepIndex: number): Promise<void>;
    /**
     * Get the current step index from the steps numbers header (for numbers type steps).
     * @returns {Promise<number>} The current step index (0-based).
     */
    getCurrentStepIndex(): Promise<number>;
    /**
     * Get the total number of steps from the steps numbers header (for numbers type steps).
     * @returns {Promise<number>} The total number of steps.
     */
    getTotalStepsCount(): Promise<number>;
    /**
     * Check if a specific step dot is active (for gallery type steps).
     * @param {number} stepIndex - The index of the step to check (0-based).
     * @returns {Promise<boolean>} True if the step dot is active.
     */
    isStepDotActive(stepIndex: number): Promise<boolean>;
    /**
     * Get the active step dot index (for gallery type steps).
     * @returns {Promise<number>} The index of the active step dot (-1 if none active).
     */
    getActiveStepDotIndex(): Promise<number>;
    /**
     * Get the current step content element.
     * @returns {Promise<Locator>} The locator for the current step content.
     */
    getCurrentStepContent(): Promise<Locator>;
    /**
     * Wait for the steps component to be fully loaded and interactive.
     * @returns {Promise<void>}
     */
    waitForStepsToLoad(): Promise<void>;
    /**
     * Navigate through all steps from beginning to end.
     * @returns {Promise<void>}
     */
    navigateToEnd(): Promise<void>;
    /**
     * Navigate back to the first step.
     * @returns {Promise<void>}
     */
    navigateToBeginning(): Promise<void>;
}
//# sourceMappingURL=Steps.d.ts.map