import { CancellationToken } from 'vscode-languageserver'; import { ImportLogger } from '../analyzer/importLogger'; import { PythonPathResult } from '../analyzer/pythonPathUtils'; import { PythonPlatform } from './configOptions'; import { HostKind, NoAccessHost, ScriptOutput } from './host'; import { PythonVersion } from './pythonVersion'; import { ServiceProvider } from './serviceProvider'; import { Uri } from './uri/uri'; export declare class LimitedAccessHost extends NoAccessHost { get kind(): HostKind; getPythonPlatform(importLogger?: ImportLogger): PythonPlatform | undefined; } export declare class FullAccessHost extends LimitedAccessHost { protected serviceProvider: ServiceProvider; constructor(serviceProvider: ServiceProvider); get kind(): HostKind; static createHost(kind: HostKind, serviceProvider: ServiceProvider): NoAccessHost | FullAccessHost; getPythonSearchPaths(pythonPath?: Uri, importLogger?: ImportLogger): PythonPathResult; getPythonVersion(pythonPath?: Uri, importLogger?: ImportLogger): PythonVersion | undefined; runScript(pythonPath: Uri | undefined, script: Uri, args: string[], cwd: Uri, token: CancellationToken): Promise; runSnippet(pythonPath: Uri | undefined, code: string, args: string[], cwd: Uri, token: CancellationToken, forceIsolated?: boolean): Promise; protected shouldUseShellToRunInterpreter(interpreterPath: string): boolean; private _executePythonInterpreter; /** * Executes a chunk of Python code via the provided interpreter and returns the output. * @param interpreterPath Path to interpreter. * @param commandLineArgs Command line args for interpreter other than the code to execute. * @param code Code to execute. */ private _executeCodeInInterpreter; private _getSearchPathResultFromInterpreter; }