import { Exports } from '../interfaces/metadata/exports'; import { Session } from '../session'; import { Uri } from '../util/uri'; export interface XmlWriter { startDocument(version: string | undefined, encoding: string | undefined): XmlWriter; writeElement(name: string, content: string): XmlWriter; writeAttribute(name: string, value: string): XmlWriter; startElement(name: string): XmlWriter; endElement(): XmlWriter; } export interface UndoFile { environment: Record | undefined; aliases: Array | undefined; stack: Array | undefined; } export type Tuple = [K, V]; export declare class Activation { #private; private readonly allowStacking; private readonly channels; private readonly environment; private readonly postscriptFile; private readonly undoFile; private readonly nextUndoEnvironmentFile; private constructor(); static start(session: Session, allowStacking: boolean): Promise; addExports(exports: Exports, targetFolder: Uri): void; /** a collection of #define declarations that would assumably be applied to all compiler calls. */ addDefine(name: string, value: string): void; get defines(): AsyncGenerator>, any, unknown>; getDefine(name: string): Promise; /** a collection of tool locations from artifacts */ addTool(name: string, value: string): void; get tools(): AsyncGenerator>, any, unknown>; getTool(name: string): Promise; /** Aliases are tools that get exposed to the user as shell aliases */ addAlias(name: string, value: string): void; getAlias(name: string, refcheck?: Set): Promise; get aliases(): AsyncGenerator>, any, unknown>; get aliasCount(): number; /** a collection of 'published locations' from artifacts */ addLocation(name: string, location: string | Uri): void; get locations(): AsyncGenerator>, any, unknown>; getLocation(name: string): Promise | undefined; /** a collection of environment variables from artifacts that are intended to be combinined into variables that have PATH delimiters */ addPath(name: string, location: string | Iterable | Uri | Iterable): void; get paths(): AsyncGenerator>>, any, unknown>; getPath(name: string): Promise | undefined>; /** environment variables from artifacts */ addEnvironmentVariable(name: string, value: string | Iterable): void; /** a collection of arbitrary properties from artifacts */ addProperty(name: string, value: string | Iterable): void; get properties(): AsyncGenerator>>, any, unknown>; getProperty(name: string): Promise | undefined>; msBuildProcessPropertyValue(value: string, targetFolder: Uri): string; addMSBuildProperty(name: string, value: string, targetFolder: Uri): void; resolveAndVerify(value: string, locals?: Array, refcheck?: Set): Promise; resolveAndVerify(value: Set, locals?: Array, refcheck?: Set): Promise>; private resolveVariables; private getValueForVariableSubstitution; private validatePath; expandPathLikeVariableExpressions(value: string): Array; generateMSBuild(): string; protected generateEnvironmentVariables(): Promise<[Record, Record]>; activate(thisStackEntries: Array, msbuildFile: Uri | undefined, json: Uri | undefined): Promise; } export declare function deactivate(session: Session, warnIfNoActivation: boolean): Promise; //# sourceMappingURL=activation.d.ts.map