/**
 * @license
 * Copyright 2025 Steven Roussey <sroussey@gmail.com>
 * SPDX-License-Identifier: Apache-2.0
 */
import { CreateWorkflow, Task, TaskConfig } from "@workglow/task-graph";
import { DataPortSchema, FromSchema } from "@workglow/util/schema";
declare const log_levels: readonly ["dir", "log", "debug", "info", "warn", "error"];
type LogLevel = (typeof log_levels)[number];
export type DebugLogTaskConfig = TaskConfig & {
    /** Log level to use for output */
    log_level?: LogLevel;
};
declare const inputSchema: {
    readonly type: "object";
    readonly properties: {};
    readonly additionalProperties: true;
};
declare const outputSchema: {
    readonly type: "object";
    readonly properties: {};
    readonly additionalProperties: true;
};
export type DebugLogTaskInput = FromSchema<typeof inputSchema>;
export type DebugLogTaskOutput = FromSchema<typeof outputSchema>;
/**
 * DebugLogTask provides console logging functionality as a task within the system.
 *
 * Features:
 * - Supports multiple log levels (info, warn, error, dir) via config
 * - Passes through all inputs as outputs unchanged
 * - Configurable logging format and depth
 *
 * This task is particularly useful for debugging task graphs and monitoring
 * data flow between tasks during development and testing.
 */
export declare class DebugLogTask<Input extends DebugLogTaskInput = DebugLogTaskInput, Output extends DebugLogTaskOutput = DebugLogTaskOutput> extends Task<Input, Output, DebugLogTaskConfig> {
    static type: string;
    static category: string;
    static title: string;
    static description: string;
    static readonly cacheable = false;
    static passthroughInputsToOutputs: boolean;
    static customizable: boolean;
    static isPassthrough: boolean;
    static configSchema(): DataPortSchema;
    static inputSchema(): {
        readonly type: "object";
        readonly properties: {};
        readonly additionalProperties: true;
    };
    static outputSchema(): {
        readonly type: "object";
        readonly properties: {};
        readonly additionalProperties: true;
    };
    execute(input: Input): Promise<Output>;
    executePreview(input: Input): Promise<Output>;
}
export declare const debugLog: (input: DebugLogTaskInput, config?: DebugLogTaskConfig) => Promise<{
    [x: string]: unknown;
}>;
declare module "@workglow/task-graph" {
    interface Workflow {
        debugLog: CreateWorkflow<DebugLogTaskInput, DebugLogTaskOutput, DebugLogTaskConfig>;
    }
}
export {};
//# sourceMappingURL=DebugLogTask.d.ts.map