import type { OutputBundle } from 'rollup';
import type { ComparableCssCoverage } from './coverage.js';
import type { InjectViteProcessedCssAssetOptions } from './markers-imports.js';
import type { InternalUserDefinedOptions } from '../../../types/index.js';
export { isMiniProgramStyleOutputFile, isRootStyleOutputFile } from './style-files.js';
export declare function shouldInjectViteProcessedCssResult(opts: InternalUserDefinedOptions, targetFile: string, sourceFile: string, options: {
    injectIntoMain?: boolean | undefined;
    outputFile?: string | undefined;
}): boolean;
export declare function shouldReplayViteProcessedCssIntoMainCss(opts: InternalUserDefinedOptions, file: string, sourceFile: string | undefined, outputFile: string, subpackageRoots: Set<string> | undefined): boolean;
export declare function shouldPreserveMiniProgramImportShell(options: Pick<InjectViteProcessedCssAssetOptions, 'cssPipelineStrategy' | 'createCssPipelineContext' | 'opts'>, bundle: OutputBundle, file: string, css: string): boolean;
export declare function resolvePreservedImportShellInjectionTarget(options: Pick<InjectViteProcessedCssAssetOptions, 'cssPipelineStrategy' | 'createCssPipelineContext'>, bundle: OutputBundle, file: string, css: string): string | undefined;
export declare function shouldUseCssAssetAsMainInjectionTarget(opts: InternalUserDefinedOptions, file: string, records: Array<{
    injectIntoMain?: boolean | undefined;
    outputFile?: string | undefined;
}>, options: Pick<InjectViteProcessedCssAssetOptions, 'cssPipelineStrategy' | 'createCssPipelineContext'>, bundle: OutputBundle): boolean;
export declare function isViteProcessedCssResultImported(record: {
    file: string;
    outputFile?: string | undefined;
}, importedStyleFiles: Set<string>): boolean;
export declare function isViteProcessedCssResultCoveredByImportedBundleAsset(record: {
    file: string;
    outputFile?: string | undefined;
}, importedStyleFiles: Set<string>, assetFiles: Set<string>): boolean;
export declare function removeCoveredInjectedSourceAssets(bundle: OutputBundle, targetFile: string, targetCss: string, records: Array<{
    file: string;
    css: string;
    injectIntoMain?: boolean | undefined;
    outputFile?: string | undefined;
}>, options: Pick<InjectViteProcessedCssAssetOptions, 'shouldRemoveInjectedSourceAsset' | 'debug'>): number;
export declare function removeCssCoveredByImportedViteResults(css: string, importedCssSources: string[], prepared?: {
    coverage: {
        rules: Set<string>;
        atRules: Set<string>;
        declarationsBySelector: Map<string, Set<string>>;
        normalizedRuleCss: Set<string>;
    };
    sources: string[];
} | undefined): string;
export declare function removeCssRulesCoveredBySources(css: string, sources: string[], options?: {
    exactOnly?: boolean | undefined;
}, preparedCoverage?: ComparableCssCoverage | undefined): string;
