import * as ts from "typescript"; declare type KnownKeys = { [K in keyof T]: string extends K ? never : number extends K ? never : K; } extends { [_ in keyof T]: infer U; } ? U : never; declare type OmitIndexSignature> = Pick>; export interface TransformerImport { transform: string; import?: string; after?: boolean; afterDeclarations?: boolean; type?: "program" | "config" | "checker" | "raw" | "compilerOptions"; [option: string]: any; } export declare type CompilerOptions = OmitIndexSignature & { noImplicitSelf?: boolean; noHeader?: boolean; luaBundle?: string; luaBundleEntry?: string; luaTarget?: LuaTarget; luaLibImport?: LuaLibImportKind; sourceMapTraceback?: boolean; plugins?: Array; [option: string]: ts.CompilerOptions[string] | Array; }; export declare enum LuaLibImportKind { None = "none", Always = "always", Inline = "inline", Require = "require" } export declare enum LuaTarget { Lua51 = "5.1", Lua52 = "5.2", Lua53 = "5.3", LuaJIT = "JIT" } export declare function validateOptions(options: CompilerOptions): ts.Diagnostic[]; export {};