import type { EditContextType } from "../../client/editContext";
import type { AgentDialogRequest, CapturePageDomResult, CapturePageScreenshotResult, CapturePageTargetContext } from "./agentDialogTypes";
export declare const CAPTURE_ERROR_CODES: {
    readonly BROWSER_CLAIM_MISMATCH: "browser_claim_mismatch";
    readonly BROWSER_CONTEXT_MISSING: "browser_context_missing";
    readonly PAGE_VIEWER_NOT_OPEN: "page_viewer_not_open";
};
/**
 * True when a live (in-editor) capture failed because no usable page/bridge was available in this
 * session — i.e. no page viewer open, the wrong browser was targeted, or the page bridge had not
 * connected. Such failures are recoverable by rendering the target page offscreen instead.
 */
export declare function isLiveCaptureUnavailable(result: CapturePageScreenshotResult | CapturePageDomResult): boolean;
type CaptureFailureResult = CapturePageScreenshotResult | CapturePageDomResult;
export declare function buildOpenCaptureContext(editContext: EditContextType | undefined): CapturePageTargetContext | undefined;
export declare function validateBrowserBoundCaptureRequest(params: {
    request: AgentDialogRequest;
    editContext: EditContextType | undefined;
    scope: CapturePageScreenshotResult["scope"] | CapturePageDomResult["scope"];
}): CaptureFailureResult | null;
export declare function buildPageViewerNotOpenFailure(params: {
    request: AgentDialogRequest;
    editContext: EditContextType | undefined;
    scope: CapturePageScreenshotResult["scope"] | CapturePageDomResult["scope"];
}): CaptureFailureResult;
export {};
