export interface SourceRange { start: number; end: number; } export interface SourceLocation { line: number; column: number; } export interface CSSStatementEnd { end: number; reason: 'semicolon' | 'block' | 'eof'; delimiterRange?: SourceRange; } export declare function escapeRegExp(source: string): string; export declare function cssEscape(value: string): string; export declare function isCSSIdentChar(char: string | undefined): boolean; export declare function isCSSIdentStart(char: string | undefined): boolean; export declare function skipCSSWhitespace(source: string, index: number): number; export declare function readCSSIdent(source: string, index: number): { start: number; end: number; value: string; }; export declare function createSourceLocationResolver(source: string): (loc: SourceLocation | undefined) => number; export declare function findCSSStatementEnd(source: string, start: number): CSSStatementEnd; export declare function findCSSClosingQuote(source: string, start: number, quote: string, limit?: number): number; export declare function findCSSBlockEnd(source: string, open: number): number; export declare function removeSourceRanges(source: string, ranges: SourceRange[]): string; export declare function replaceSourceRanges(source: string, ranges: (SourceRange & { replacement: string; })[]): string;