import type { Element } from "hast";
import { type ComponentPropsWithoutRef, type ComponentType } from "react";
import type { CodeHeaderProps, ComponentsByLanguage, SyntaxHighlighterProps } from "../types.js";
type CodeProps = ComponentPropsWithoutRef<"code"> & {
    node?: Element | undefined;
};
interface CodeAdapterOptions {
    SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;
    CodeHeader?: ComponentType<CodeHeaderProps> | undefined;
    componentsByLanguage?: ComponentsByLanguage | undefined;
}
/**
 * Creates a code component adapter that bridges the assistant-ui
 * SyntaxHighlighter/CodeHeader API to streamdown's code component.
 */
export declare function createCodeAdapter(options: CodeAdapterOptions): import("react").MemoExoticComponent<({ node, className, children, "data-block": dataBlock, ...props }: CodeProps & {
    "data-block"?: string;
}) => import("react/jsx-runtime").JSX.Element>;
/**
 * Checks if the code adapter should be used (i.e., user provided custom components).
 */
export declare function shouldUseCodeAdapter(options: CodeAdapterOptions): boolean;
export {};
//# sourceMappingURL=code-adapter.d.ts.map