import type * as postcss from 'postcss';
import { Diagnostics } from './diagnostics';
import { StylableMeta } from './stylable-meta';
import { FeatureContext, STNamespace } from './features';
import { type FeatureFlags } from './features/feature';
export declare class StylableProcessor implements FeatureContext {
    diagnostics: Diagnostics;
    private resolveNamespace;
    flags: FeatureFlags;
    meta: StylableMeta;
    constructor(diagnostics?: Diagnostics, resolveNamespace?: typeof STNamespace.defaultProcessNamespace, flags?: FeatureFlags);
    process(root: postcss.Root): StylableMeta;
    protected handleAtRules(root: postcss.Root): void;
    private collectUrls;
    protected handleRule(rule: postcss.Rule, { isScoped, reportUnscoped, originalNode, }: {
        isScoped: boolean;
        reportUnscoped: boolean;
        originalNode?: postcss.AtRule | postcss.Rule;
    }): boolean;
}
export declare const processNamespace: typeof STNamespace.defaultProcessNamespace;
//# sourceMappingURL=stylable-processor.d.ts.map