import * as React from 'react';
import type { ControlledCode } from "../CodeHighlighter/types.js";
export type Selection = {
  variant: string;
  fileName?: string;
  transformKey?: string;
};
export interface CodeControllerContext {
  code?: ControlledCode;
  selection?: Selection;
  setCode?: React.Dispatch<React.SetStateAction<ControlledCode | undefined>>;
  setSelection?: React.Dispatch<React.SetStateAction<Selection>>;
  components?: Record<string, React.ReactNode> | undefined;
}
export declare const CodeControllerContext: React.Context<CodeControllerContext | undefined>;
export declare function useControlledCode(): {
  controlledCode: ControlledCode | undefined;
  controlledSelection: Selection | undefined;
  controlledSetCode: React.Dispatch<React.SetStateAction<ControlledCode | undefined>> | undefined;
  controlledSetSelection: React.Dispatch<React.SetStateAction<Selection>> | undefined;
  controlledComponents: Record<string, React.ReactNode> | undefined;
};