import { CssRecord, MacroMatch, CssRecordConfigInterface, MacroCallbackReturnType } from '.'; export interface ConfigurCssRecordHookDataInterface { compilationResult: CompilationResult; cssRecord: CssRecord; } export interface CompilationResultHooksListInterface { 'compilationResult:configureCssRecord': ConfigurCssRecordHookDataInterface; } export type ScreenSortingFunctionType = (screensList: ScreensListMapType) => ScreensListMapType; export type ScreensListScreenValueType = number | null; export type ScreensListMapType = Map; export type ScreensListRecordType = Record; export type SelectorsListType = Record; export interface CompilationResultConfigInterface { dev?: boolean; reconfigurable?: boolean; screensSortingFunction?: ScreenSortingFunctionType; screensList?: ScreensListRecordType; mangleSelectors?: boolean; mangledSelectorsPrefix?: string; defaultCss?: string; } export interface SelectorsListInterface { processed: boolean; } export type SelectorsComponentsMapType = Record; export interface SelectorsComponentsMapInterface { component: string; selectorsChain: string[]; } export declare class CompilationResult { readonly id: string; private screensList; private selectorsList; private screensListSorted; reconfigurable: boolean; changed: boolean; mangleSelectors: boolean; mangledSelectorsPrefix: string; dev: boolean; screensSortingFunction: ScreenSortingFunctionType; defaultCss: string; constructor(config?: CompilationResultConfigInterface); configure(config?: CompilationResultConfigInterface): void; private getScreenById; private addScreens; private addScreen; generateCss(): string; getCssRecord(macroMatch: MacroMatch): CssRecord | null; configureCssRecord(cssRecord: CssRecord, config: Partial): void; addCssRecord(macroMatch: MacroMatch, selectorProperties: MacroCallbackReturnType, utilityShouldBeGenerated?: boolean): void; bindCustomSelectorsToSelectors(customSelectorsSelectorsMap: Record): void; }