import { Hypher } from "./hypher.js"; import type { Process } from "./process"; import type { Options as PrecssOptions } from './precss.js'; export interface CssContextOptions { coreCSS: boolean; defaultCSS: boolean; preprocessCSS: boolean; defaultPageSize: string; mediaType: string; hyphUri: string; } export declare class CssContext { readonly doc: Document; readonly options: CssContextOptions; preparedSheets: Set; coreSheet: StyleSheet; defaultSheet: StyleSheet; hyphers: { [key: string]: Hypher | false; }; private _styleAttrProcessor; constructor(doc: Document, options: CssContextOptions); process(): Process; /** Should be only called if CSS.registerProperty is available */ processStyleAttr(elem: Element): void; prepareSheets(preprocOptions: PrecssOptions): Promise; testHyphens(element: HTMLElement, style: CSSStyleDeclaration): false | Hypher | Promise; hyphenate(element: HTMLElement, hypher: Hypher): void; } export declare const cssContexts: Map; export type Media = 'screen' | 'print' | 'projection'; export declare function insertStyleSheet(doc: Document, sheet: string, excluded?: boolean, id?: string, before?: Node): StyleSheet; export declare function insertLinkSheet(doc: Document, url: string | URL, excluded?: boolean, id?: string, before?: Node): Promise; export declare function getCustomProp(eltOrStyle: Element | CSSStyleDeclaration, propName: string): string; export declare function getCustomPluginProp(eltOrStyle: Element | CSSStyleDeclaration, propName: string): string; export declare function computeLength(strLength: string, percentBase: number | (() => number)): number; export declare function computeMinOrMaxLength(minMaxValue: string, percentBase: number, noneValue: number): number; export declare function addStyleImagesToLoad(element: Element, set: Set): void; export type Side = 'top' | 'right' | 'bottom' | 'left';