/**
 * @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 InputTaskInput = Record<string, unknown>;
export type InputTaskOutput = Record<string, unknown>;
export type InputTaskConfig = TaskConfig;
export declare class InputTask extends Task<InputTaskInput, InputTaskOutput, InputTaskConfig> {
    static type: string;
    static category: string;
    static title: string;
    static description: string;
    static hasDynamicSchemas: boolean;
    static cacheable: boolean;
    static isPassthrough: boolean;
    static inputSchema(): DataPortSchema;
    static outputSchema(): DataPortSchema;
    inputSchema(): DataPortSchema;
    outputSchema(): DataPortSchema;
    execute(input: InputTaskInput, _context: IExecuteContext): Promise<InputTaskOutput>;
    executePreview(input: InputTaskInput): Promise<InputTaskOutput>;
    /**
     * 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: InputTaskInput, context: IExecuteContext): AsyncIterable<StreamEvent<InputTaskOutput>>;
}
declare module "@workglow/task-graph" {
    interface Workflow {
        input: CreateWorkflow<InputTaskInput, InputTaskOutput, InputTaskConfig>;
    }
}
//# sourceMappingURL=InputTask.d.ts.map