/** Props for {@link PlanDocumentMessage}. */
export interface PlanDocumentMessageProps {
    /** The plan message's markdown content (the agent's final Plan-mode reply). */
    readonly content: string;
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * Renders a Plan-mode turn's plan as a first-class document instead of a chat
 * bubble: a bordered card with a title header (the plan's leading `# H1`,
 * lifted out of the prose) and document-grade typography
 * ({@link PLAN_DOCUMENT_MARKDOWN_COMPONENTS}).
 *
 * This is the thread's NO-ARTIFACT fallback: a completed Plan turn that never
 * published `plan.md` (older executions, a failed upload) keeps its plan
 * inline via this component — the message is the only copy of the plan, so it
 * must stay readable in place. A turn that DID publish the artifact collapses
 * its plan message into the compact `PlanArtifactCard` instead, and the
 * document renders in the session panel's plan tab (`PlanEditor`) with the
 * same typography.
 *
 * Fence handling is plan-scoped: a plan wrapped in a whole-body fence is
 * unwrapped even when the fence carries no language tag (`allowBareFence`) —
 * a Plan turn's output is a markdown document by contract, so an enclosing
 * bare fence is wrapping, not code. Render-time only; the transcript and the
 * published artifact stay byte-faithful.
 *
 * Purely presentational — no data fetching, no state.
 * All visual properties flow through `--stgm-*` tokens.
 */
export declare const PlanDocumentMessage: import("react").NamedExoticComponent<PlanDocumentMessageProps>;
//# sourceMappingURL=PlanDocumentMessage.d.ts.map