import type { ReactNode } from 'react'; import type { LineToneRange } from '../../stores/viewerTabsStore'; export interface ChangeCount { additions: number; removals: number; } export type ViewerStatusTone = 'neutral' | 'read' | 'write' | 'patch' | 'success' | 'error'; export declare function countLineTones(lineTones: Map | Array<[number, 'add' | 'remove']> | undefined, lineToneRanges?: LineToneRange[]): ChangeCount; export declare function normalizeChangeCount(count: ChangeCount): ChangeCount | undefined; export declare function countPatchTextChanges(patch: string | undefined, targetPath: string | undefined): ChangeCount | undefined; export declare function AnimatedSignedCount({ prefix, value, className, }: { prefix: '+' | '-'; value: number; className: string; }): import("react/jsx-runtime").JSX.Element; export declare function ChangeCountSlot({ count }: { count: ChangeCount; }): import("react/jsx-runtime").JSX.Element; export declare function InlineChangeCount({ count, className, weight, }: { count: ChangeCount; className?: string; weight?: 'bold' | 'normal'; }): import("react/jsx-runtime").JSX.Element; interface ViewerStatusBarProps { label?: string; path: string; tone?: ViewerStatusTone; changeCount?: ChangeCount; showSpinner?: boolean; spinnerTitle?: string; leading?: ReactNode; trailing?: ReactNode; } export declare function ViewerStatusBar({ label, path, tone, changeCount, showSpinner, spinnerTitle, leading, trailing, }: ViewerStatusBarProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=ViewerStatusBar.d.ts.map