/**
 * @module _shared/scene-submit
 *
 * Host-authored scene submission — the missing half of agent-mode compose
 * for hosts that cannot write files (Claude Desktop and other MCP-only
 * surfaces). `build --mode agent` already returns a `needs-author` plan with
 * per-beat compose prompts; this executor accepts the HTML the host agent
 * authored, validates it with the SAME lint the batch composer uses, and
 * writes `compositions/scene-<id>.html` on pass. On lint errors nothing is
 * written and the findings are returned so the agent can fix and resubmit.
 *
 * Shared by the `vibe scene submit` CLI command and the `scene_submit`
 * MCP/agent tool.
 */
import { type LintFinding } from "./scene-lint.js";
export interface SceneSubmitOptions {
    projectDir: string;
    beatId: string;
    /** Scene HTML — a bare `<template>` fragment, optionally ```html-fenced. */
    html: string;
    /** Lint only; never write. */
    validateOnly?: boolean;
}
export interface SceneSubmitResult {
    success: boolean;
    beatId: string;
    /** Project-relative path of the scene file. */
    scenePath: string;
    written: boolean;
    /** Lint codes auto-repaired before validation. */
    mechanicalFixes: string[];
    lint: {
        errorCount: number;
        warningCount: number;
        findings: LintFinding[];
    };
    warnings: string[];
    retryWith: string[];
    error?: string;
}
export declare function executeSceneSubmit(opts: SceneSubmitOptions): Promise<SceneSubmitResult>;
