export interface DraftOutlines { /** * Drafts an element that just streamed in: its frame and its descendants' * frames trace in parent first, then its content fades in under them. */ track: (element: Element) => void; dispose: () => void; } /** Set on the outline container while drafting replaces the plain fade-in. */ export declare const DRAFTING_ATTRIBUTE = "data-agent-native-drafting"; /** * How long an element that starts drafting takes to finish: its frame draws, * holds and fades, and its content has faded in. A preview that keeps * showing this long after the last of its content arrives lets that content * finish drafting before the saved version replaces it. Keep it in step with * the timings inside `createDraftOutlines`, which can't reference it. */ export declare const DRAFT_FINISH_MS = 1100; /** * Drafts streamed-in content the way a designer would block it out: every * new element's frame is stroked in, containers first, then each child in * document order a beat after its parent and after its earlier siblings, so * a grid fills card by card. Each element stays hidden until its own frame * has drawn, then fades in beneath it while the frames fade away. `container` must be * positioned; the frames live in a layer appended to it, outside whatever * subtree the stream patches. * * This function is serialized into sandboxed preview frames with * `Function.prototype.toString`, so it must not reference anything outside * its own body. */ export declare function createDraftOutlines(container: HTMLElement, accent: string): DraftOutlines;