/**
 * @copyright
 * Copyright 2025 Steven Roussey
 * All Rights Reserved
 */
import type { IExecuteContext, StreamEvent } from "@workglow/task-graph";
import { CreateWorkflow, Task, TaskConfig } from "@workglow/task-graph";
import type { DataPortSchema } from "@workglow/util/schema";
export type OutputTaskInput = Record<string, unknown>;
export type OutputTaskOutput = Record<string, unknown>;
export type OutputTaskConfig = TaskConfig;
export declare class OutputTask extends Task<OutputTaskInput, OutputTaskOutput, OutputTaskConfig> {
    static type: string;
    static category: string;
    static title: string;
    static description: string;
    static hasDynamicSchemas: boolean;
    static cacheable: boolean;
    static isGraphOutput: boolean;
    static isPassthrough: boolean;
    static inputSchema(): DataPortSchema;
    static outputSchema(): DataPortSchema;
    inputSchema(): DataPortSchema;
    outputSchema(): DataPortSchema;
    execute(input: OutputTaskInput, _context: IExecuteContext): Promise<OutputTaskOutput>;
    executePreview(input: OutputTaskInput): Promise<OutputTaskOutput>;
    /**
     * Stream pass-through: re-yields all events from upstream input streams
     * so downstream consumers see them with near-zero latency, then emits
     * a finish event with the materialized input as data.
     */
    executeStream(input: OutputTaskInput, context: IExecuteContext): AsyncIterable<StreamEvent<OutputTaskOutput>>;
}
/**
 * Module augmentation to register task type in the workflow system
 */
declare module "@workglow/task-graph" {
    interface Workflow {
        output: CreateWorkflow<OutputTaskInput, OutputTaskOutput, OutputTaskConfig>;
    }
}
//# sourceMappingURL=OutputTask.d.ts.map