export type LoopLimitInfo = { maxIterations?: number; }; export type RunErrorInfo = { message: string; details?: string; errorCode?: string; runId?: string; recoverable?: boolean; }; export declare function getLoopLimitMetadata(message: unknown): LoopLimitInfo | null; export declare function getRunErrorMetadata(message: unknown): RunErrorInfo | null; export declare function getRequestModeMetadata(message: unknown): "act" | "plan" | null; export declare function BuilderConnectCta({ variant, onConnected, }: { variant?: "primary" | "compact"; onConnected?: () => void; }): import("react").JSX.Element; export declare function ApiKeyConnect({ onConnected }: { onConnected?: () => void; }): import("react").JSX.Element; export type BuilderSetupCardLayout = "default" | "sidebar"; export declare function BuilderSetupContent({ onConnected, layout, }: { onConnected?: () => void; layout?: BuilderSetupCardLayout; }): import("react").JSX.Element; export declare function BuilderSetupCard({ onConnected, bouncePulse, fullWidth, layout, }: { onConnected?: () => void; bouncePulse?: number; fullWidth?: boolean; layout?: BuilderSetupCardLayout; }): import("react").JSX.Element; export declare function RunErrorRecoveryCard({ info, onContinue, onRetry, onFork, onDismiss, }: { info: RunErrorInfo; onContinue: () => void; onRetry: () => void; onFork?: () => void | boolean | Promise; onDismiss: () => void; }): import("react").JSX.Element; export declare function LoopLimitContinueCard({ info, onContinue, }: { info: LoopLimitInfo; onContinue: () => void; }): import("react").JSX.Element; export declare function PlanModeCallout({ canImplementPlan, onImplementPlan, onSwitchToAct, }: { canImplementPlan: boolean; onImplementPlan: () => void; onSwitchToAct: () => void; }): import("react").JSX.Element; //# sourceMappingURL=run-recovery.d.ts.map