import * as React from 'react'; import type { AgPart } from './types.js'; export type AgPartRenderer = (part: AgPart) => React.ReactNode; /** REQ-SURF-112: `renderText(text, { streaming, messageId })` replaces the default plain-text body. */ export type AgTextRenderer = (text: string, opts: { streaming?: boolean | undefined; messageId: string; }) => React.ReactNode; export interface AgApprovalResponse { approvalId: string; toolCallId: string; approved: boolean; reason?: string | undefined; } export interface AiRenderers { /** Per-part-type overrides, e.g. 'data-artifact' or 'text'. */ renderers?: Record; /** Default text renderer (e.g. the ai-markdown registry item). */ renderText?: AgTextRenderer; /** Approval callback threaded to every ToolCall under this provider. */ onApprovalResponse?: ((detail: AgApprovalResponse) => void) | undefined; } export declare function AiRenderersProvider(props: AiRenderers & { children?: React.ReactNode; }): React.JSX.Element; export declare function useAiRenderers(): AiRenderers; //# sourceMappingURL=renderers.d.ts.map