import * as TextUtils from '../../models/text_utils/text_utils.js'; import * as Common from '../common/common.js'; import * as Platform from '../platform/platform.js'; import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js'; import type * as Protocol from '../../generated/protocol.js'; import { CSSFontFace } from './CSSFontFace.js'; import { CSSMatchedStyles } from './CSSMatchedStyles.js'; import { CSSMedia } from './CSSMedia.js'; import { CSSStyleRule } from './CSSRule.js'; import { CSSStyleDeclaration } from './CSSStyleDeclaration.js'; import { CSSStyleSheetHeader } from './CSSStyleSheetHeader.js'; import { DOMModel, type DOMNode } from './DOMModel.js'; import { type Target } from './Target.js'; import { SDKModel } from './SDKModel.js'; import { SourceMapManager } from './SourceMapManager.js'; export declare class CSSModel extends SDKModel { #private; readonly agent: ProtocolProxyApi.CSSApi; constructor(target: Target); headersForSourceURL(sourceURL: Platform.DevToolsPath.UrlString): CSSStyleSheetHeader[]; createRawLocationsByURL(sourceURL: Platform.DevToolsPath.UrlString, lineNumber: number, columnNumber?: number | undefined): CSSLocation[]; sourceMapManager(): SourceMapManager; static readableLayerName(text: string): string; static trimSourceURL(text: string): string; domModel(): DOMModel; setStyleText(styleSheetId: Protocol.CSS.StyleSheetId, range: TextUtils.TextRange.TextRange, text: string, majorChange: boolean): Promise; setSelectorText(styleSheetId: Protocol.CSS.StyleSheetId, range: TextUtils.TextRange.TextRange, text: string): Promise; setKeyframeKey(styleSheetId: Protocol.CSS.StyleSheetId, range: TextUtils.TextRange.TextRange, text: string): Promise; startCoverage(): Promise; takeCoverageDelta(): Promise<{ timestamp: number; coverage: Array; }>; setLocalFontsEnabled(enabled: boolean): Promise; stopCoverage(): Promise; getMediaQueries(): Promise; getRootLayer(nodeId: Protocol.DOM.NodeId): Promise; isEnabled(): boolean; private enable; getMatchedStyles(nodeId: Protocol.DOM.NodeId): Promise; getClassNames(styleSheetId: Protocol.CSS.StyleSheetId): Promise; getComputedStyle(nodeId: Protocol.DOM.NodeId): Promise | null>; getBackgroundColors(nodeId: Protocol.DOM.NodeId): Promise; getPlatformFonts(nodeId: Protocol.DOM.NodeId): Promise; allStyleSheets(): CSSStyleSheetHeader[]; getInlineStyles(nodeId: Protocol.DOM.NodeId): Promise; forcePseudoState(node: DOMNode, pseudoClass: string, enable: boolean): boolean; pseudoState(node: DOMNode): string[] | null; setMediaText(styleSheetId: Protocol.CSS.StyleSheetId, range: TextUtils.TextRange.TextRange, newMediaText: string): Promise; setContainerQueryText(styleSheetId: Protocol.CSS.StyleSheetId, range: TextUtils.TextRange.TextRange, newContainerQueryText: string): Promise; setSupportsText(styleSheetId: Protocol.CSS.StyleSheetId, range: TextUtils.TextRange.TextRange, newSupportsText: string): Promise; setScopeText(styleSheetId: Protocol.CSS.StyleSheetId, range: TextUtils.TextRange.TextRange, newScopeText: string): Promise; addRule(styleSheetId: Protocol.CSS.StyleSheetId, ruleText: string, ruleLocation: TextUtils.TextRange.TextRange): Promise; requestViaInspectorStylesheet(node: DOMNode): Promise; mediaQueryResultChanged(): void; fontsUpdated(fontFace?: Protocol.CSS.FontFace | null): void; fontFaces(): CSSFontFace[]; fontFaceForSource(src: string): CSSFontFace | undefined; styleSheetHeaderForId(id: Protocol.CSS.StyleSheetId): CSSStyleSheetHeader | null; styleSheetHeaders(): CSSStyleSheetHeader[]; fireStyleSheetChanged(styleSheetId: Protocol.CSS.StyleSheetId, edit?: Edit): void; private ensureOriginalStyleSheetText; private originalContentRequestedForTest; originalStyleSheetText(header: CSSStyleSheetHeader): Promise; getAllStyleSheetHeaders(): Iterable; styleSheetAdded(header: Protocol.CSS.CSSStyleSheetHeader): void; styleSheetRemoved(id: Protocol.CSS.StyleSheetId): void; getStyleSheetIdsForURL(url: Platform.DevToolsPath.UrlString): Protocol.CSS.StyleSheetId[]; setStyleSheetText(styleSheetId: Protocol.CSS.StyleSheetId, newText: string, majorChange: boolean): Promise; getStyleSheetText(styleSheetId: Protocol.CSS.StyleSheetId): Promise; private onMainFrameNavigated; private resetStyleSheets; private resetFontFaces; suspendModel(): Promise; resumeModel(): Promise; setEffectivePropertyValueForNode(nodeId: Protocol.DOM.NodeId, propertyName: string, value: string): void; cachedMatchedCascadeForNode(node: DOMNode): Promise; discardCachedMatchedCascade(): void; createCSSPropertyTracker(propertiesToTrack: Protocol.CSS.CSSComputedStyleProperty[]): CSSPropertyTracker; enableCSSPropertyTracker(cssPropertyTracker: CSSPropertyTracker): void; disableCSSPropertyTracker(): void; private pollComputedStyleUpdates; dispose(): void; getAgent(): ProtocolProxyApi.CSSApi; } export declare enum Events { FontsUpdated = "FontsUpdated", MediaQueryResultChanged = "MediaQueryResultChanged", ModelWasEnabled = "ModelWasEnabled", PseudoStateForced = "PseudoStateForced", StyleSheetAdded = "StyleSheetAdded", StyleSheetChanged = "StyleSheetChanged", StyleSheetRemoved = "StyleSheetRemoved" } export interface StyleSheetChangedEvent { styleSheetId: Protocol.CSS.StyleSheetId; edit?: Edit; } export interface PseudoStateForcedEvent { node: DOMNode; pseudoClass: string; enable: boolean; } export type EventTypes = { [Events.FontsUpdated]: void; [Events.MediaQueryResultChanged]: void; [Events.ModelWasEnabled]: void; [Events.PseudoStateForced]: PseudoStateForcedEvent; [Events.StyleSheetAdded]: CSSStyleSheetHeader; [Events.StyleSheetChanged]: StyleSheetChangedEvent; [Events.StyleSheetRemoved]: CSSStyleSheetHeader; }; export declare class Edit { styleSheetId: string; oldRange: TextUtils.TextRange.TextRange; newRange: TextUtils.TextRange.TextRange; newText: string; payload: Object | null; constructor(styleSheetId: string, oldRange: TextUtils.TextRange.TextRange, newText: string, payload: Object | null); } export declare class CSSLocation { #private; styleSheetId: Protocol.CSS.StyleSheetId; url: Platform.DevToolsPath.UrlString; lineNumber: number; columnNumber: number; constructor(header: CSSStyleSheetHeader, lineNumber: number, columnNumber?: number); cssModel(): CSSModel; header(): CSSStyleSheetHeader | null; } export declare class InlineStyleResult { inlineStyle: CSSStyleDeclaration | null; attributesStyle: CSSStyleDeclaration | null; constructor(inlineStyle: CSSStyleDeclaration | null, attributesStyle: CSSStyleDeclaration | null); } export declare class CSSPropertyTracker extends Common.ObjectWrapper.ObjectWrapper { #private; constructor(cssModel: CSSModel, propertiesToTrack: Protocol.CSS.CSSComputedStyleProperty[]); start(): void; stop(): void; getTrackedProperties(): Protocol.CSS.CSSComputedStyleProperty[]; } export declare enum CSSPropertyTrackerEvents { TrackedCSSPropertiesUpdated = "TrackedCSSPropertiesUpdated" } export type CSSPropertyTrackerEventTypes = { [CSSPropertyTrackerEvents.TrackedCSSPropertiesUpdated]: (DOMNode | null)[]; }; export interface ContrastInfo { backgroundColors: string[] | null; computedFontSize: string; computedFontWeight: string; }