import type { InternalUserDefinedOptions, IStyleHandlerOptions } from '../../../types/index.js';
type CssHandlerOptions = IStyleHandlerOptions & {
    postcssOptions: {
        options: {
            from: string;
        };
    };
    majorVersion?: 4 | undefined;
    sourceOptions?: {
        outputRoot?: string | undefined;
        requestFile?: string | undefined;
    } | undefined;
};
interface CssHandlerOptionsCacheOptions {
    getAppType: () => InternalUserDefinedOptions['appType'];
    mainCssChunkMatcher: InternalUserDefinedOptions['mainCssChunkMatcher'];
    getMajorVersion: () => number | undefined;
    getOutputRoot?: (() => string | undefined) | undefined;
    getExtraOptions?: ((file: string) => Partial<IStyleHandlerOptions>) | undefined;
    getDynamicCssOptions?: (() => Partial<IStyleHandlerOptions>) | undefined;
}
export interface CssHandlerOptionsCache {
    getCssHandlerOptions: (file: string) => CssHandlerOptions;
    getCssUserHandlerOptions: (file: string) => CssHandlerOptions;
}
export declare function resolveViteCssHandlerExtraOptions(file: string): {
    isMainChunk: boolean;
} | {
    isMainChunk?: never;
};
export declare function createCssHandlerOptionsCache(options: CssHandlerOptionsCacheOptions): CssHandlerOptionsCache;
export {};
