import { Binding } from '@tsdi/components';
import { Src, TemplateOption } from '@tsdi/activities';
import { SrcOptions } from 'vinyl-fs';
import { TransformActivity } from './TransformActivity';
import { NodeExpression, NodeActivityContext } from '../NodeActivityContext';
import { ITransform } from '../ITransform';
/**
 * source activity template option.
 *
 * @export
 * @interface SourceActivityOption
 * @extends {TemplateOption}
 */
export interface SourceActivityOption extends TemplateOption {
    /**
     * source.
     *
     * @type {NodeExpression<Src>}
     * @memberof SourceActivityOption
     */
    src: Binding<NodeExpression<Src>>;
    /**
     * src option
     *
     * @type {NodeExpression<DestOptions>}
     * @memberof DistActivityOption
     */
    srcOptions?: Binding<NodeExpression<SrcOptions>>;
}
/**
 * Source activity.
 *
 * @export
 * @class SourceActivity
 * @extends {TransformActivity}
 */
export declare class SourceActivity extends TransformActivity {
    src: NodeExpression<Src>;
    options: NodeExpression<SrcOptions>;
    execute(ctx: NodeActivityContext): Promise<ITransform>;
    static ρAnn(): any;
}
