interface KpsPackage {
    /**
     * <Package> -- the root element.
     */
    package: KpsFile;
}
interface KpsFile {
    system: KpsFileSystem;
    options: KpsFileOptions;
    info?: KpsFileInfo;
    files?: KpsFileContentFiles;
    keyboards?: KpsFileKeyboards;
    lexicalModels?: KpsFileLexicalModels;
    startMenu?: KpsFileStartMenu;
    strings?: KpsFileStrings;
}
interface KpsFileSystem {
    keymanDeveloperVersion: string;
    fileVersion: string;
}
interface KpsFileOptions {
    followKeyboardVersion?: string;
    readmeFile?: string;
    graphicFile?: string;
    executeProgram?: string;
    msiFilename?: string;
    msiOptions?: string;
}
interface KpsFileInfo {
    name?: KpsFileInfoItem;
    copyright?: KpsFileInfoItem;
    author?: KpsFileInfoItem;
    website?: KpsFileInfoItem;
    version?: KpsFileInfoItem;
}
interface KpsFileInfoItem {
    _: string;
    $: {
        URL: string;
    };
}
interface KpsFileContentFiles {
    file: KpsFileContentFile[] | KpsFileContentFile;
}
interface KpsFileContentFile {
    name: string;
    description: string;
    copyLocation: string;
    fileType: string;
}
interface KpsFileLexicalModel {
    name: string;
    iD: string;
    languages: KpsFileLanguages;
}
interface KpsFileLexicalModels {
    lexicalModel: KpsFileLexicalModel[] | KpsFileLexicalModel;
}
interface KpsFileLanguages {
    language: KpsFileLanguage[] | KpsFileLanguage;
}
interface KpsFileLanguage {
    _: string;
    $: {
        ID: string;
    };
}
interface KpsFileKeyboard {
    name: string;
    iD: string;
    version: string;
    oskFont?: string;
    displayFont?: string;
    rtl?: boolean;
    languages?: KpsFileLanguages;
}
interface KpsFileKeyboards {
    keyboard: KpsFileKeyboard[] | KpsFileKeyboard;
}
interface KpsFileStartMenu {
    folder?: string;
    addUninstallEntry?: string;
    items?: KpsFileStartMenuItems;
}
interface KpsFileStartMenuItem {
    name: string;
    filename: string;
    arguments?: string;
    icon?: string;
    location?: string;
}
interface KpsFileStartMenuItems {
    item: KpsFileStartMenuItem[] | KpsFileStartMenuItem;
}
interface KpsFileStrings {
    string: string[] | string;
}
