export interface ParserOptions { silent?: boolean; source?: string; } export interface ParserError { message?: string; reason?: string; filename?: string; line?: number; column?: number; source?: string; } export interface Loc { line?: number; column?: number; } export interface Node { type?: string; parent?: Node; position?: { start?: Loc; end?: Loc; source?: string; content?: string; }; } export interface Rule extends Node { selectors?: string[]; declarations?: Array; } export interface Declaration extends Node { property?: string; value?: string; } export interface Comment extends Node { comment?: string; } export interface Charset extends Node { charset?: string; } export interface CustomMedia extends Node { name?: string; media?: string; } export interface Document extends Node { document?: string; vendor?: string; rules?: Array; } export interface FontFace extends Node { declarations?: Array; } export interface Host extends Node { rules?: Array; } export interface Import extends Node { import?: string; } export interface KeyFrames extends Node { name?: string; vendor?: string; keyframes?: Array; } export interface KeyFrame extends Node { values?: string[]; declarations?: Array; } export interface Media extends Node { media?: string; rules?: Array; } export interface Namespace extends Node { namespace?: string; } export interface Page extends Node { selectors?: string[]; declarations?: Array; } export interface Supports extends Node { supports?: string; rules?: Array; } export declare type AtRule = Charset | CustomMedia | Document | FontFace | Host | Import | KeyFrames | Media | Namespace | Page | Supports; export interface StyleRules { source?: string; rules: Array; parsingErrors?: ParserError[]; } export interface Stylesheet extends Node { stylesheet?: StyleRules; } export declare function parse(css: string, options?: ParserOptions): Stylesheet;