import { KMX } from "@keymanapp/common-types";
import { CompilerCallbacks, CompilerOptions } from "@keymanapp/developer-utils";
import { KmnCompilerResult } from "../compiler/compiler.js";
export declare let FTabStop: string;
export declare let nl: string;
export declare let FCompilerWarningsAsErrors: boolean;
export declare let kmxResult: KmnCompilerResult;
export declare let fk: KMX.KEYBOARD;
export declare let FMnemonic: boolean;
export declare let options: CompilerOptions;
export declare let callbacks: CompilerCallbacks;
export declare let kmnfile: string;
export declare let FUnreachableKeys: KMX.KEY[];
export declare let FCallFunctions: string[];
export declare let FFix183_LadderLength: number;
export declare function minimumKeymanVersion(): number;
export declare function minimumKeymanVersionToString(): string;
export declare function setupGlobals(_callbacks: CompilerCallbacks, _options: CompilerOptions, _tab: string, _nl: string, _kmxResult: KmnCompilerResult, _keyboard: KMX.KEYBOARD, _kmnfile: string): void;
/**
 * Verify that minimum supported Keyman version in the keyboard is version 10.0,
 * and upgrade to that version if possible and necessary.
 *
 * Will upgrade the minimum version to 10.0 if `KF_AUTOMATICVERSION` flag is set
 * for the keyboard, which correlates to having no `store(&version)` line in the
 * .kmn source file.
 *
 * @returns `true` if the version is now 10.0 or higher, `false` if a lower
 * version has been specified in the source file `store(&version)` line.
 */
export declare function verifyAndSetMinimumRequiredKeymanVersion10(): boolean;
/**
 * Verify that minimum supported Keyman version in the keyboard is version 14.0,
 * and upgrade to that version if possible and necessary.
 *
 * Will upgrade the minimum version to 14.0 if `KF_AUTOMATICVERSION` flag is set
 * for the keyboard, which correlates to having no `store(&version)` line in the
 * .kmn source file.
 *
 * @returns `true` if the version is now 14.0 or higher, `false` if a lower
 * version has been specified in the source file `store(&version)` line.
 */
export declare function verifyAndSetMinimumRequiredKeymanVersion14(): boolean;
/**
 * Verify that minimum supported Keyman version in the keyboard is version 15.0,
 * and upgrade to that version if possible and necessary.
 *
 * Will upgrade the minimum version to 15.0 if `KF_AUTOMATICVERSION` flag is set
 * for the keyboard, which correlates to having no `store(&version)` line in the
 * .kmn source file.
 *
 * @returns `true` if the version is now 15.0 or higher, `false` if a lower
 * version has been specified in the source file `store(&version)` line.
 */
export declare function verifyAndSetMinimumRequiredKeymanVersion15(): boolean;
/**
 * Verify that minimum supported Keyman version in the keyboard is version 17.0,
 * and upgrade to that version if possible and necessary.
 *
 * Will upgrade the minimum version to 17.0 if `KF_AUTOMATICVERSION` flag is set
 * for the keyboard, which correlates to having no `store(&version)` line in the
 * .kmn source file.
 *
 * @returns `true` if the version is now 17.0 or higher, `false` if a lower
 * version has been specified in the source file `store(&version)` line.
 */
export declare function verifyAndSetMinimumRequiredKeymanVersion17(): boolean;
export declare function isKeyboardVersion10OrLater(): boolean;
export declare function isKeyboardVersion14OrLater(): boolean;
export declare function isKeyboardVersion17OrLater(): boolean;
//# sourceMappingURL=compiler-globals.d.ts.map