import { Page, Locator } from "@playwright/test";
/**
 * Class representing a base element for Playwright tests.
 */
export declare class BaseElement {
    page: Page;
    locator: Locator;
    elementReportName: string;
    /**
     * Create a BaseElement.
     * @param {Page} page - The Playwright page object.
     * @param {Locator} locator - The locator for the element.
     * @param {string} elementReportName - The name for reporting purposes.
     */
    constructor(page: Page, locator: Locator, elementReportName: string);
    /**
     * Get the locator of the element.
     * @returns {Locator} - The locator of the element.
     */
    getLocator(): Locator;
    /**
     * Check if the element is enabled.
     * @returns {Promise<boolean>} - Returns true if the element is enabled, otherwise false.
     */
    isEnabled(): Promise<boolean>;
    /**
     * Hover the element.
     * @returns {Promise<void>}
     */
    hover(): Promise<void>;
    /**
     * Click the element.
     * @returns {Promise<void>}
     */
    click(): Promise<void>;
    /**
     * Scroll the element into view if needed.
     * @returns {Promise<void>}
     */
    scrollIntoView(): Promise<void>;
    getAttributeValue(attributeName: string, options?: any): Promise<string | null>;
    getText(): Promise<string | undefined>;
    waitFor(options?: {}): Promise<void>;
    waitForVisible(): Promise<void>;
    waitForAbsence(): Promise<void>;
    count(): Promise<number>;
    isVisible(): Promise<boolean>;
    /**
     * Wait for the list elements to stabilize (i.e., the count of items remains constant for a specified duration).
     * @param {Locator} locator - The locator for the elements.
     * @returns {Promise<void>}
     */
    protected waitForAndVerifyElements(locator: Locator): Promise<void>;
}
//# sourceMappingURL=BaseElement.d.ts.map