import { SemVer } from 'semver';
import type { KnownParser } from '../r-bridge/parser';
import type { ReplOutput } from '../cli/repl/commands/repl-main';
import type { ReadonlyFlowrAnalysisProvider } from '../project/flowr-analyzer';
/**
 * Retrieves the current flowR version as a new {@link SemVer} object.
 */
export declare function flowrVersion(): SemVer;
type Version = `${number}.${number}.${number}`;
/**
 * Describes the version of flowR and the used R interpreter.
 */
export interface VersionInformation {
    /** The version of flowR */
    flowr: Version;
    /** The version of R identified by the underlying {@link RShell} */
    r: Version | 'unknown' | 'none';
    engine: string;
}
/**
 * Retrieves the version information for flowR and the given parser or analysis provider.
 */
export declare function retrieveVersionInformation(input: KnownParser | ReadonlyFlowrAnalysisProvider): Promise<VersionInformation>;
/**
 * Displays the version information to the given output.
 */
export declare function printVersionInformation(output: ReplOutput, input: KnownParser | ReadonlyFlowrAnalysisProvider): Promise<void>;
export {};
