import { Expression } from '@tsdi/activities';
import { NodeActivity } from '../NodeActivity';
import { ITransform } from '../ITransform';
import { NodeActivityContext } from '../NodeActivityContext';
/**
 * transform activity.
 *
 * @export
 * @abstract
 * @class TransfrmActivity
 * @extends {NodeActivity<ITransform>}
 */
export declare abstract class TransformActivity<T = ITransform> extends NodeActivity<T> {
    /**
     * execute stream pipe.
     *
     * @protected
     * @param {NodeActivityContext} ctx
     * @param {ITransform} stream stream pipe from
     * @param {GActivityType<ITransform>} transform steam pipe to.
     * @param {boolean} [waitend=false] wait pipe end or not.
     * @returns {Promise<ITransform>}
     * @memberof TransformActivity
     */
    pipeStream(ctx: NodeActivityContext, stream: ITransform, transform: Expression<ITransform>, waitend?: boolean): Promise<ITransform>;
    static ρAnn(): any;
}
