import { TextDocument, Range } from 'vscode-languageserver-types'; import { Argument } from './argument'; export declare class Property { private document; private escapeChar; private readonly range; private readonly nameRange; private readonly name; private readonly assignmentOperatorRange; private readonly assignmentOperator; private readonly valueRange; private readonly value; constructor(document: TextDocument, escapeChar: string, arg: Argument, arg2?: Argument); getRange(): Range; getName(): string; getNameRange(): Range; getValue(): string | null; getValueRange(): Range | null; /** * Retrieves the operator used for delimiting between the name and * value of this property. This will either be the "=" character * or null if a character was not used or if this property has no * value defined. */ getAssignmentOperator(): string | null; getAssignmentOperatorRange(): Range | null; /** * Returns the value of this property including any enclosing * single or double quotes and relevant escape characters. * Escaped newlines and its associated contiguous whitespace * characters however will not be returned as they are deemed to * be uninteresting to clients trying to return a Dockerfile. * * @return the unescaped value of this property or null if this * property has no associated value */ getUnescapedValue(): string | null; private static getNameRange; private static getValueRange; /** * Returns the actual value of this key-value pair. The value will * have its escape characters removed if applicable. If the value * spans multiple lines and there are comments nested within the * lines, they too will be removed. * * @return the value that this key-value pair will actually be, may * be null if no value is defined, may be the empty string * if the value only consists of whitespace */ private static getValue; }