import type { CssContent, ResolvedUserOptions } from "../types.js";
import type { Logger } from "vite";
/**
 * Unified CSS Processor
 *
 * PURPOSE: Consolidate CSS processing logic used across:
 * - processCssFilesForPages (plugin.server.ts, plugin.client.ts)
 * - RSC worker message handler (messageHandler.tsx)
 * - HTML worker message handler
 *
 * This helper provides consistent CSS processing behavior across all environments
 * and reduces code duplication.
 */
export interface UnifiedCssProcessorOptions {
    /** User options for CSS processing */
    userOptions: ResolvedUserOptions;
    /** Logger for verbose output */
    logger?: Logger;
    /** Whether to enable verbose logging */
    verbose?: boolean;
    /** Static build output directory */
    staticOutDir?: string;
    /** Static manifest for CSS file resolution */
    staticManifest?: any;
    /** Bundle containing CSS files */
    bundle?: any;
}
export interface CssProcessingResult {
    /** CSS files organized by page/route */
    cssFilesByPage: Map<string, Map<string, CssContent>>;
    /** Global CSS files */
    globalCss: Map<string, CssContent>;
    /** Combined CSS files for a specific route */
    combinedCssFiles: Map<string, CssContent>;
}
/**
 * Processes CSS files from static build output
 *
 * @param cssInputs - CSS file inputs from manifest
 * @param options - Processing options
 * @returns Processed CSS content map
 */
export declare function processCssFromStaticBuild(cssInputs: Record<string, string>, options: UnifiedCssProcessorOptions): Map<string, CssContent>;
/**
 * Combines CSS files from multiple sources
 *
 * @param sources - Array of CSS file maps to combine
 * @returns Combined CSS file map
 */
export declare function combineCssFiles(...sources: Array<Map<string, CssContent> | undefined>): Map<string, CssContent>;
/**
 * Processes inline CSS content for stateful systems
 *
 * @param cssFiles - CSS files map
 * @param addCssFileContent - Function to add CSS content to state
 * @param userOptions - User options
 */
export declare function processInlineCssForState(cssFiles: Map<string, CssContent>, addCssFileContent: (id: string, content: string, userOptions: ResolvedUserOptions) => void, userOptions: ResolvedUserOptions): void;
/**
 * Creates a unified CSS processor instance
 *
 * @param options - Processing options
 * @returns CSS processor functions
 */
export declare function createUnifiedCssProcessor(options: UnifiedCssProcessorOptions): {
    processCssFromStaticBuild: (cssInputs: Record<string, string>) => Map<string, CssContent>;
    combineCssFiles: typeof combineCssFiles;
    processInlineCssForState: typeof processInlineCssForState;
};
//# sourceMappingURL=createUnifiedCssProcessor.d.ts.map