import { type ReactNode } from "react"; import { type GeistdocsChatController } from "./internal/chat/context"; export type { GeistdocsChatController, GeistdocsChatPage, } from "./internal/chat/context"; /** * Control the Ask AI chat from custom components rendered inside * `GeistdocsProvider`. */ export declare const useGeistdocsChat: () => GeistdocsChatController; interface SearchButtonProps { className?: string; onClick?: () => void; } export declare const SearchButton: ({ className, onClick }: SearchButtonProps) => import("react/jsx-runtime").JSX.Element; export declare const ThemeToggle: () => import("react/jsx-runtime").JSX.Element; export declare const LanguageSelector: () => import("react/jsx-runtime").JSX.Element | null; interface AskAIButtonProps { children?: ReactNode; className?: string; disabled?: boolean; prompt?: string; size?: "tiny" | "small" | "medium" | "large" | null; variant?: "default" | "secondary" | "tertiary"; } export declare const AskAIButton: ({ children, className, prompt, size, variant, ...props }: AskAIButtonProps) => import("react/jsx-runtime").JSX.Element | null; export interface AskAIUserProps { /** * The reader's avatar. Only `http(s)` URLs and root-relative paths are * rendered; other values are ignored. `null` is accepted for auth session * fields that may be empty. */ avatarUrl?: string | null; /** The reader's name, used as the avatar's alt text. */ name?: string | null; } /** * Identify the signed-in reader to Ask AI. Renders nothing; while mounted * with an `avatarUrl`, the reader's avatar appears beside their chat * messages. Unmount it, or pass no `avatarUrl`, to clear the reader. */ export declare const AskAIUser: ({ avatarUrl, name }: AskAIUserProps) => null; //# sourceMappingURL=controls.d.ts.map