/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ declare module 'EmmetFlatNode' { export interface Node { start: number end: number type: string parent: Node | undefined firstChild: Node | undefined nextSibling: Node | undefined previousSibling: Node | undefined children: Node[] } export interface Token { start: number end: number stream: BufferStream toString(): string } export interface CssToken extends Token { size: number item(number: number): any type: string } export interface HtmlToken extends Token { value: string } export interface Attribute extends Token { name: Token value: Token } export interface HtmlNode extends Node { name: string open: Token | undefined close: Token | undefined parent: HtmlNode | undefined firstChild: HtmlNode | undefined nextSibling: HtmlNode | undefined previousSibling: HtmlNode | undefined children: HtmlNode[] attributes: Attribute[] } export interface CssNode extends Node { name: string parent: CssNode | undefined firstChild: CssNode | undefined nextSibling: CssNode | undefined previousSibling: CssNode | undefined children: CssNode[] } export interface Rule extends CssNode { selectorToken: Token contentStartToken: Token contentEndToken: Token } export interface Property extends CssNode { valueToken: Token separator: string parent: Rule terminatorToken: Token separatorToken: Token value: string } export interface Stylesheet extends Node { comments: Token[] } export interface BufferStream { peek(): number next(): number backUp(n: number): number current(): string substring(from: number, to: number): string eat(match: any): boolean eatWhile(match: any): boolean } }