import { Executable, Instance, FeatureMap } from "./execute"; import { ExecutableSpec, FeatureDocMap, RuleSpecMap } from "./spec"; import { Context } from "./ctx"; import { SqrlCompiledOutput } from "../compile/SqrlCompiledOutput"; import { StatementAst } from "./ast"; import { Filesystem } from "./filesystem"; interface CompileFromStatementsOptions { context?: Context; filesystem?: Filesystem; setInputs?: FeatureMap; usedFiles?: string[]; } export declare class CompiledExecutable { _wrapped: SqrlCompiledOutput; constructor(_wrapped: SqrlCompiledOutput); getSlotLoad(): number[][]; getSlotNames(): string[]; getSlotExprs(): import("./expr").Expr[]; getUsedFunctions(ctx: Context): string[]; getExecutableSpec(): ExecutableSpec; getFeatureDocs(): FeatureDocMap; getRuleSpecs(): RuleSpecMap; } export declare function compileFromStatements(instance: Instance, statements: StatementAst[], options: CompileFromStatementsOptions): Promise<{ compiled: CompiledExecutable; executable: Executable; spec: ExecutableSpec; }>; export declare function executableFromStatements(instance: Instance, statements: StatementAst[], options: CompileFromStatementsOptions): Promise; interface CompileFromStringOptions extends CompileFromStatementsOptions { librarySource?: string; } export declare function compileFromString(instance: Instance, source: string, options?: CompileFromStringOptions): Promise<{ compiled: CompiledExecutable; executable: Executable; spec: ExecutableSpec; }>; export declare function executableFromString(instance: Instance, source: string, options?: CompileFromStringOptions): Promise; interface CompileFromFilesystemOptions extends CompileFromStatementsOptions { mainFile?: string; } export declare function compileFromFilesystem(instance: Instance, filesystem: Filesystem, options?: CompileFromFilesystemOptions): Promise<{ compiled: CompiledExecutable; executable: Executable; spec: ExecutableSpec; }>; export declare function executableFromFilesystem(instance: Instance, filesystem: Filesystem, options?: CompileFromFilesystemOptions): Promise; export declare function executableFromSpec(instance: Instance, spec: ExecutableSpec): Executable; export declare function sourceArrow(location: any): string; export {};