import { CodeViewItem, CodeViewScrollTarget, DiffLineAnnotation, LineAnnotation } from "../types.js"; import { GetHoveredLineResult } from "../managers/InteractionManager.js"; import "../index.js"; import { CodeView as CodeView$1, CodeViewLineSelection, CodeViewOptions } from "../components/CodeView.js"; import { CSSProperties, ReactNode, Ref } from "react"; //#region src/react/CodeView.d.ts type CodeViewGutterUtilityGetter = (() => GetHoveredLineResult<'file'> | undefined) | (() => GetHoveredLineResult<'diff'> | undefined); interface CodeViewBaseProps { options?: CodeViewOptions; className?: string; style?: CSSProperties; containerRef?: Ref; disableWorkerPool?: boolean; selectedLines?: CodeViewLineSelection | null; onSelectedLinesChange?(selection: CodeViewLineSelection | null): void; onScroll?(scrollTop: number, viewer: CodeView$1): void; renderCustomHeader?(item: CodeViewItem): ReactNode; renderHeaderPrefix?(item: CodeViewItem): ReactNode; renderHeaderMetadata?(item: CodeViewItem): ReactNode; renderAnnotation?(annotation: LineAnnotation | DiffLineAnnotation, item: CodeViewItem): ReactNode; renderGutterUtility?(getHoveredLine: CodeViewGutterUtilityGetter, item: CodeViewItem): ReactNode; } interface ControlledCodeViewProps extends CodeViewBaseProps { items: readonly CodeViewItem[]; initialItems?: never; } interface UncontrolledCodeViewProps extends CodeViewBaseProps { initialItems?: readonly CodeViewItem[]; items?: never; } type CodeViewProps = ControlledCodeViewProps | UncontrolledCodeViewProps; interface CodeViewHandle { addItems(items: readonly CodeViewItem[]): void; getItem(id: string): CodeViewItem | undefined; updateItem(item: CodeViewItem): boolean; updateItemId(oldId: string, newId: string): boolean; scrollTo(target: CodeViewScrollTarget): void; setSelectedLines(selection: CodeViewLineSelection | null): void; getSelectedLines(): CodeViewLineSelection | null; clearSelectedLines(): void; getInstance(): CodeView$1 | undefined; } type CodeViewComponent = (props: CodeViewProps & { ref?: React.Ref>; }) => React.JSX.Element; declare const CodeView: CodeViewComponent; //#endregion export { CodeView, CodeViewHandle, CodeViewProps, ControlledCodeViewProps, UncontrolledCodeViewProps }; //# sourceMappingURL=CodeView.d.ts.map