import { Range, Position } from 'vscode-languageserver-types'; import * as ast from './main'; import { Comment } from './comment'; import { Instruction } from './instruction'; import { Arg } from './instructions/arg'; import { Cmd } from './instructions/cmd'; import { Copy } from './instructions/copy'; import { Env } from './instructions/env'; import { Entrypoint } from './instructions/entrypoint'; import { From } from './instructions/from'; import { Healthcheck } from './instructions/healthcheck'; import { Workdir } from './instructions/workdir'; export declare class ImageTemplate implements ast.ImageTemplate { private readonly comments; private readonly instructions; addComment(comment: Comment): void; getComments(): Comment[]; addInstruction(instruction: Instruction): void; getInstructions(): Instruction[]; protected getInstructionAt(line: number): Instruction | null; /** * Gets all the ARG instructions that are defined in this image. */ getARGs(): Arg[]; /** * Gets all the CMD instructions that are defined in this image. */ getCMDs(): Cmd[]; /** * Gets all the COPY instructions that are defined in this image. */ getCOPYs(): Copy[]; /** * Gets all the ENTRYPOINT instructions that are defined in this image. */ getENTRYPOINTs(): Entrypoint[]; /** * Gets all the ENV instructions that are defined in this image. */ getENVs(): Env[]; getFROM(): From; /** * Gets all the FROM instructions that are defined in this image. */ getFROMs(): From[]; /** * Gets all the HEALTHCHECK instructions that are defined in this image. */ getHEALTHCHECKs(): Healthcheck[]; getWORKDIRs(): Workdir[]; getOnbuildTriggers(): Instruction[]; getAvailableVariables(currentLine: number): string[]; /** * Resolves a variable with the given name at the specified line * to its value. If null is returned, then the variable has been * defined but no value was given. If undefined is returned, then * a variable with the given name has not been defined yet as of * the given line. * * @param variable the name of the variable to resolve * @param line the line number that the variable is on, zero-based * @return the value of the variable as defined by an ARG or ENV * instruction, or null if no value has been specified, or * undefined if a variable with the given name has not * been defined */ resolveVariable(variable: string, line: number): string | null | undefined; getRange(): Range | null; contains(position: Position): boolean; }