import { type SourceRange } from './source'; export type { CSSStatementEnd, SourceLocation, SourceRange } from './source'; export type CSSDirectiveRangeName = 'master' | 'settings' | 'source' | 'safelist' | 'blocklist' | 'preserve' | 'reference' | 'theme' | 'defaults' | 'components' | 'utilities' | 'custom-variant' | 'compose' | 'variant' | 'slot'; export interface CSSQuotedStringRange extends SourceRange { quote: '"' | '\''; contentRange: SourceRange; } export interface CSSDeclarationRange extends SourceRange { propertyRange: SourceRange; separatorRange: SourceRange; valueRange: SourceRange; terminatorRange?: SourceRange; } export interface CSSDirectiveRuleRange extends SourceRange { name: CSSDirectiveRangeName; keywordRange: SourceRange; preludeRange: SourceRange; blockRange?: SourceRange; blockContentRange?: SourceRange; blockCloseRange?: SourceRange; semicolonRange?: SourceRange; quotedStringRanges: CSSQuotedStringRange[]; depth: number; origin: 'source-scan'; } export declare const CSS_DIRECTIVE_RANGE_NAMES: readonly ["master", "settings", "source", "safelist", "blocklist", "preserve", "reference", "theme", "defaults", "components", "utilities", "custom-variant", "compose", "variant", "slot"]; export declare function collectCSSQuotedStringRanges(source: string, start?: number, end?: number): CSSQuotedStringRange[]; export declare function collectCSSDeclarationRanges(source: string, start: number, end: number): CSSDeclarationRange[]; export declare function collectCSSDirectiveRanges(source: string): CSSDirectiveRuleRange[];