import { ObjectMap } from '@tsdi/ioc';
import { Binding } from '@tsdi/components';
import { Src, ActivityType } from '@tsdi/activities';
import { CompilerOptions } from 'typescript';
import { AssetActivityOption, AssetActivity } from './AssetActivity';
import { NodeExpression } from '../NodeActivityContext';
import { ITransform } from '../ITransform';
/**
 * ts build option.
 *
 * @export
 * @interface TsBuildOption
 * @extends {AssetActivityOption}
 */
export interface TsBuildOption extends AssetActivityOption {
    test?: Binding<NodeExpression<Src>>;
    annotation?: Binding<NodeExpression<boolean>>;
    tsconfig?: Binding<NodeExpression<string | CompilerOptions>>;
    dts?: Binding<NodeExpression<string>>;
    uglify?: Binding<NodeExpression<boolean>>;
    uglifyOptions?: Binding<NodeExpression>;
}
export declare class TsBuildActivity extends AssetActivity {
    dts: NodeExpression<string>;
    annotation: NodeExpression<boolean>;
    annotationFramework: NodeExpression<ITransform>;
    beforePipes: ActivityType<ITransform>[];
    tsconfig: NodeExpression<string | ObjectMap>;
    uglify: NodeExpression<boolean>;
    uglifyOptions: NodeExpression;
    static ρAnn(): any;
}
