/** Props for {@link PlanStreamingCard}. */
export interface PlanStreamingCardProps {
    /**
     * The plan's title (its leading `# H1`), streaming in live. Falls back to
     * "Writing plan…" until the title has arrived.
     */
    readonly title?: string;
    /**
     * Live size of the plan text streamed so far. An approximation (UTF-16
     * length, not encoded bytes) — it exists to show growth while the agent
     * writes, not to state the artifact's final size.
     */
    readonly sizeBytes: number;
    /**
     * Opens the panel's plan document tab, where the plan is rendering live.
     * Always provided in practice: the thread only collapses a streaming plan
     * behind this card when the host wired `onOpenPlan` (see `MessageThread`'s
     * `collapseStreamingPlan` gate) — without a document surface there is
     * nothing for the card to open, and the plan streams inline instead.
     */
    readonly onOpenPlan?: () => void;
    /** Additional CSS classes for the root element. */
    readonly className?: string;
}
/**
 * The live counterpart of {@link PlanArtifactCard} — a streaming Plan turn's
 * compact stand-in in the thread while the plan document renders live in the
 * session panel's plan tab. Same anatomy as the completed card (icon, title,
 * a `Writing… · size` meta, trailing actions) so the completion handoff reads
 * as the same card settling, not a new element appearing.
 *
 * The meta line deliberately omits a filename: the artifact's name is derived
 * from the plan's title, which is still streaming in, so a name shown here
 * would change under the user when the plan settles. The completed card
 * introduces the final `<slug>_<id>.plan.md` name once it exists.
 *
 * Deliberately action-light: "Open plan" is the only affordance. Download and
 * Build require the published artifact, which does not exist until the turn
 * completes — at which point `buildThreadItems` swaps this item for the
 * `plan-completion` item under the same list key.
 *
 * The pulsing icon is the progress affordance: a CSS animation inside `.stgm`,
 * covered by the stylesheet's global `prefers-reduced-motion` rule (DD-015),
 * and safe under virtualization (no `@starting-style`).
 *
 * All visual properties flow through `--stgm-*` tokens; the component is
 * self-contained and embeddable.
 */
export declare const PlanStreamingCard: import("react").NamedExoticComponent<PlanStreamingCardProps>;
//# sourceMappingURL=PlanStreamingCard.d.ts.map