import { DependenciesEnv, PackageEnv, PipeServiceModifier, PipeServiceModifiersMap } from '@teambit/envs';
import { EnvPolicyConfigObject } from '@teambit/dependency-resolver';
import { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';
import { ReactMain } from '@teambit/react';
import { Tester } from '@teambit/tester';
import { BuildTask } from '@teambit/builder';
import { PreviewStrategyName } from '@teambit/preview';
import { SchemaExtractor } from '@teambit/schema';
import { TsConfigSourceFile } from 'typescript';
export declare const NodeEnvType = "node";
type GetBuildPipeModifiers = PipeServiceModifiersMap & {
    tsModifier?: PipeServiceModifier;
    jestModifier?: PipeServiceModifier;
};
export declare class NodeEnv implements DependenciesEnv, PackageEnv {
    protected tsAspect: TypescriptMain;
    protected reactAspect: ReactMain;
    constructor(tsAspect: TypescriptMain, reactAspect: ReactMain);
    icon: string;
    getDependencies(): EnvPolicyConfigObject;
    getCompiler(transformers: TsConfigTransformer[] | undefined, tsModule: any): import("@teambit/compiler").Compiler;
    /**
     * returns the component build pipeline.
     */
    getBuildPipe(modifiers?: GetBuildPipeModifiers): BuildTask[];
    /**
     * returns a component tester.
     */
    getTester(jestConfigPath: string, jestModulePath?: string): Tester;
    getPreviewConfig(): {
        strategyName: PreviewStrategyName;
        splitComponentBundle: boolean;
    };
    getPackageJsonProps(): import("@teambit/pkg").PackageJsonProps;
    getSchemaExtractor(tsconfig: TsConfigSourceFile, tsserverPath?: string, contextPath?: string): SchemaExtractor;
    __getDescriptor(): Promise<{
        type: string;
    }>;
}
export {};
