import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js'; import type * as Protocol from '../../generated/protocol.js'; 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 { 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 { SDKModel } from './SDKModel.js'; import { SourceMapManager } from './SourceMapManager.js'; import { type Target } from './Target.js'; export declare const enum ColorScheme { LIGHT = "light", DARK = "dark" } export interface LayoutProperties { isFlex: boolean; isGrid: boolean; isSubgrid: boolean; isGridLanes: boolean; containerType?: string; hasScroll: boolean; } export declare class CSSModel extends SDKModel { #private; readonly agent: ProtocolProxyApi.CSSApi; constructor(target: Target); colorScheme(): Promise; resolveValues(propertyName: string | undefined, nodeId: Protocol.DOM.NodeId, ...values: string[]): Promise; 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; trackComputedStyleUpdatesForNode(nodeId: Protocol.DOM.NodeId | undefined): Promise; setStyleText(styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange, text: string, majorChange: boolean): Promise; setSelectorText(styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange, text: string): Promise; setPropertyRulePropertyName(styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange, text: string): Promise; setKeyframeKey(styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange, text: string): Promise; startCoverage(): Promise; takeCoverageDelta(): Promise<{ timestamp: number; coverage: Protocol.CSS.RuleUsage[]; }>; setLocalFontsEnabled(enabled: boolean): Promise; stopCoverage(): Promise; getMediaQueries(): Promise; getRootLayer(nodeId: Protocol.DOM.NodeId): Promise; isEnabled(): boolean; private enable; getAnimatedStylesForNode(nodeId: Protocol.DOM.NodeId): Promise; getMatchedStyles(nodeId: Protocol.DOM.NodeId): Promise; getClassNames(styleSheetId: Protocol.DOM.StyleSheetId): Promise; getComputedStyle(nodeId: Protocol.DOM.NodeId): Promise | null>; getComputedStyleExtraFields(nodeId: Protocol.DOM.NodeId): Promise; getLayoutPropertiesFromComputedStyle(nodeId: Protocol.DOM.NodeId): Promise; getEnvironmentVariables(): Promise>; getBackgroundColors(nodeId: Protocol.DOM.NodeId): Promise; getPlatformFonts(nodeId: Protocol.DOM.NodeId): Promise; allStyleSheets(): CSSStyleSheetHeader[]; getInlineStyles(nodeId: Protocol.DOM.NodeId): Promise; forceStartingStyle(node: DOMNode, forced: boolean): boolean; forcePseudoState(node: DOMNode, pseudoClass: string, enable: boolean): boolean; pseudoState(node: DOMNode): string[] | null; setMediaText(styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange, newMediaText: string): Promise; setContainerQueryText(styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange, newContainerQueryText: string): Promise; setContainerQueryConditionText(styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange, newContainerQueryConditionText: string): Promise; setSupportsText(styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange, newSupportsText: string): Promise; setNavigationText(styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange, newNavigationText: string): Promise; setScopeText(styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange, newScopeText: string): Promise; addRule(styleSheetId: Protocol.DOM.StyleSheetId, ruleText: string, ruleLocation: TextUtils.TextRange.TextRange): Promise; requestViaInspectorStylesheet(maybeFrameId?: Protocol.Page.FrameId | null): Promise; createInspectorStylesheet(frameId: Protocol.Page.FrameId, force?: boolean): Promise; mediaQueryResultChanged(): void; fontsUpdated(fontFace?: Protocol.CSS.FontFace | null): void; fontFaces(): CSSFontFace[]; fontFaceForSource(src: string): CSSFontFace | undefined; styleSheetHeaderForId(id: Protocol.DOM.StyleSheetId): CSSStyleSheetHeader | null; styleSheetHeaders(): CSSStyleSheetHeader[]; fireStyleSheetChanged(styleSheetId: Protocol.DOM.StyleSheetId, edit?: Edit): void; private ensureOriginalStyleSheetText; private originalContentRequestedForTest; originalStyleSheetText(header: CSSStyleSheetHeader): Promise; getAllStyleSheetHeaders(): Iterable; computedStyleUpdated(nodeId: Protocol.DOM.NodeId): void; styleSheetAdded(header: Protocol.CSS.CSSStyleSheetHeader): void; styleSheetRemoved(id: Protocol.DOM.StyleSheetId): void; getStyleSheetIdsForURL(url: Platform.DevToolsPath.UrlString): Protocol.DOM.StyleSheetId[]; setStyleSheetText(styleSheetId: Protocol.DOM.StyleSheetId, newText: string, majorChange: boolean): Promise; getStyleSheetText(styleSheetId: Protocol.DOM.StyleSheetId): Promise; private onPrimaryPageChanged; 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", ModelDisposed = "ModelDisposed", PseudoStateForced = "PseudoStateForced", StartingStylesStateForced = "StartingStylesStateForced", StyleSheetAdded = "StyleSheetAdded", StyleSheetChanged = "StyleSheetChanged", StyleSheetRemoved = "StyleSheetRemoved", ComputedStyleUpdated = "ComputedStyleUpdated" } export interface StyleSheetChangedEvent { styleSheetId: Protocol.DOM.StyleSheetId; edit?: Edit; } export interface PseudoStateForcedEvent { node: DOMNode; pseudoClass: string; enable: boolean; } export interface ComputedStyleUpdatedEvent { nodeId: Protocol.DOM.NodeId; } export interface EventTypes { [Events.FontsUpdated]: void; [Events.MediaQueryResultChanged]: void; [Events.ModelWasEnabled]: void; [Events.ModelDisposed]: CSSModel; [Events.PseudoStateForced]: PseudoStateForcedEvent; [Events.StartingStylesStateForced]: DOMNode; [Events.StyleSheetAdded]: CSSStyleSheetHeader; [Events.StyleSheetChanged]: StyleSheetChangedEvent; [Events.StyleSheetRemoved]: CSSStyleSheetHeader; [Events.ComputedStyleUpdated]: ComputedStyleUpdatedEvent; } 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.DOM.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 const enum CSSPropertyTrackerEvents { TRACKED_CSS_PROPERTIES_UPDATED = "TrackedCSSPropertiesUpdated" } export interface CSSPropertyTrackerEventTypes { [CSSPropertyTrackerEvents.TRACKED_CSS_PROPERTIES_UPDATED]: Array; } export interface ContrastInfo { backgroundColors: string[] | null; computedFontSize: string; computedFontWeight: string; }