/**
 * CSS selectors and IDs used by the screenshot/unfurl service.
 * These are shared between the frontend (where elements are rendered) and backend (where Playwright waits for them).
 *
 * IMPORTANT: Changes to these constants must be coordinated between frontend and backend deployments.
 */
/**
 * ID of the element that signals when a dashboard/chart is ready for screenshot.
 * The UnfurlService waits for this element to appear before taking a screenshot.
 *
 * Usage:
 * - Frontend: Rendered by ScreenshotReadyIndicator component
 * - Backend: Waited for by UnfurlService.saveScreenshot()
 */
export declare const SCREENSHOT_READY_INDICATOR_ID = "lightdash-ready-indicator";
/**
 * ID of an element that is always mounted on minimal pages and exposes the
 * current screenshot progress: which tiles are expected, ready, and errored.
 *
 * Unlike SCREENSHOT_READY_INDICATOR_ID, this element exists from first paint
 * so the UnfurlService can read it on timeout to identify which tile UUIDs
 * are still unaccounted for.
 *
 * Data attributes:
 * - data-tiles-expected: JSON array of tile UUIDs expected to render
 * - data-tiles-ready:    JSON array of tile UUIDs that called markTileScreenshotReady
 * - data-tiles-errored:  JSON array of tile UUIDs that called markTileScreenshotErrored
 *
 * Usage:
 * - Frontend: Rendered by ScreenshotProgressIndicator on minimal pages
 * - Backend:  Read by UnfurlService when waitForSelector(READY_INDICATOR) times out
 */
export declare const SCREENSHOT_PROGRESS_INDICATOR_ID = "lightdash-screenshot-progress";
/**
 * Class name for tile loading skeleton overlays.
 * The UnfurlService waits for these elements to be hidden (loading complete).
 *
 * Usage:
 * - Frontend: Applied by TileBaseV2 LoadingSkeletonOverlay
 * - Backend: Waited for by UnfurlService.saveScreenshot()
 */
export declare const LOADING_CHART_OVERLAY_CLASS = "loading_chart_overlay";
/**
 * Class name for chart loading state.
 * The UnfurlService waits for these elements to be hidden (loading complete).
 *
 * Usage:
 * - Frontend: Applied by chart components during loading
 * - Backend: Waited for by UnfurlService.saveScreenshot()
 */
export declare const LOADING_CHART_CLASS = "loading_chart";
/**
 * Class name for markdown tile content.
 * The UnfurlService waits for these elements to be attached to the DOM.
 *
 * Usage:
 * - Frontend: Applied to MarkdownPreview in DashboardMarkdownTile
 * - Backend: Waited for by UnfurlService.saveScreenshot()
 */
export declare const MARKDOWN_TILE_CLASS = "markdown-tile";
/**
 * Class name for the dashboard grid layout container.
 * This is the screenshot target for dashboard screenshots.
 *
 * Usage:
 * - Frontend: Applied to ResponsiveGridLayout in MinimalDashboard
 * - Backend: Screenshot selector in UnfurlService.saveScreenshot()
 */
export declare const DASHBOARD_GRID_CLASS = "react-grid-layout";
/**
 * ID of the element rendered by the error boundary fallback.
 * The UnfurlService checks for this element to detect when an error occurred.
 *
 * Usage:
 * - Frontend: Rendered by ErrorBoundary fallback component
 * - Backend: Checked by UnfurlService.saveScreenshot() to detect errors
 */
export declare const ERROR_BOUNDARY_ID = "lightdash-error-boundary";
/**
 * ID of the element rendered on the login page.
 * The UnfurlService checks for this element to detect when authentication failed
 * and the user was redirected to the login page instead of the requested content.
 *
 * Usage:
 * - Frontend: Rendered by LoginLanding Card component
 * - Backend: Checked by UnfurlService.saveScreenshot() to detect auth redirects
 */
export declare const LOGIN_PAGE_ID = "lightdash-login-page";
/**
 * CSS Selectors (with prefix for direct use in querySelector/CSS)
 */
export declare const SCREENSHOT_SELECTORS: {
    /** ID selector: #lightdash-ready-indicator */
    readonly READY_INDICATOR: "#lightdash-ready-indicator";
    /** ID selector: #lightdash-screenshot-progress */
    readonly PROGRESS_INDICATOR: "#lightdash-screenshot-progress";
    /** Class selector: .loading_chart_overlay */
    readonly LOADING_OVERLAY: ".loading_chart_overlay";
    /** Class selector: .loading_chart */
    readonly LOADING_CHART: ".loading_chart";
    /** Class selector: .markdown-tile */
    readonly MARKDOWN_TILE: ".markdown-tile";
    /** Class selector: .react-grid-layout */
    readonly DASHBOARD_GRID: ".react-grid-layout";
    /** ID selector: #lightdash-error-boundary */
    readonly ERROR_BOUNDARY: "#lightdash-error-boundary";
    /** ID selector: #lightdash-login-page */
    readonly LOGIN_PAGE: "#lightdash-login-page";
};
//# sourceMappingURL=screenshot.d.ts.map