import { Locator, Page } from '@playwright/test';
/**
 * Screen share tab helpers — Playwright bindings for the standalone
 * `AgentScreenShareTab` component from `@iblai/web-containers`.
 *
 * The tab is a peer to Voice/LLM/Tools/etc in the edit-mentor modal.
 * It only edits the two screensharing prompts on the mentor's
 * CallConfiguration; the on/off toggle lives on the Settings tab.
 *
 * Selectors below use stable hooks only: `data-testid`, role + name,
 * and label-based queries. No CSS class selectors.
 */
export declare const SCREENSHARE_LABELS: {
    readonly tabName: "Screen Share";
    readonly headerTitle: "Screen Share";
    readonly fields: {
        readonly systemPrompt: "Instructions during screen sharing";
        readonly proactivePrompt: "What the agent says when screen sharing starts";
    };
    readonly saveButton: "Save";
};
export type ScreenSharePromptField = 'systemPrompt' | 'proactivePrompt';
/**
 * Returns false if the Screen share tab isn't currently rendered in
 * the Edit Mentor dialog (e.g. the host hasn't registered it, or it's
 * hidden by RBAC).
 */
export declare function isScreenShareTabVisible(page: Page): Promise<boolean>;
/**
 * Switch to the Screen share top-level tab. Assumes the Edit Mentor
 * dialog is open.
 */
export declare function switchToScreenShareTab(page: Page): Promise<void>;
/**
 * Open the inline prompt editor for one of the two screensharing
 * prompts. Mirrors the Prompts tab pattern: each prompt is rendered as
 * a card with an "Edit <label>" button that pops the rich-text modal.
 */
export declare function openScreenSharePromptEditor(scope: Page | Locator, field: ScreenSharePromptField): Promise<void>;
/**
 * Replace the prompt text inside the rich-text modal and confirm. The
 * new value is written to local form state; call `saveScreenSharePrompts`
 * afterwards to persist.
 */
export declare function setScreenSharePrompt(scope: Page | Locator, field: ScreenSharePromptField, text: string): Promise<void>;
/**
 * Click the tab's Save button to persist any pending prompt edits.
 * Asserts the button is enabled first — a no-op call on a pristine
 * tab would be a test bug.
 */
export declare function saveScreenSharePrompts(scope: Page | Locator): Promise<void>;
/**
 * Assert whether the amber off-state hint is shown. The hint renders
 * when `enable_video` is false on the underlying CallConfiguration
 * (or when no call_configuration exists yet).
 */
export declare function expectScreenShareDisabledHint(scope: Page | Locator, visible: boolean): Promise<void>;
