/**
 * @license
 * Copyright 2025 Steven Roussey <sroussey@gmail.com>
 * SPDX-License-Identifier: Apache-2.0
 */
import { CreateWorkflow, IExecuteContext, IExecutePreviewContext, Task, TaskConfig } from "@workglow/task-graph";
import { FromSchema } from "@workglow/util/schema";
declare const inputSchema: {
    readonly type: "object";
    readonly properties: {
        readonly value: {
            readonly type: "string";
            readonly title: "Value";
            readonly description: "Date string, ISO 8601 timestamp, or Unix timestamp in milliseconds";
        };
        readonly format: {
            readonly type: "string";
            readonly title: "Format";
            readonly enum: readonly ["iso", "date", "time", "datetime", "unix"];
            readonly description: "Output format: 'iso', 'date', 'time', 'datetime', 'unix'";
            readonly default: "iso";
        };
        readonly locale: {
            readonly type: "string";
            readonly title: "Locale";
            readonly description: "Locale string (e.g. 'en-US')";
            readonly default: "en-US";
        };
        readonly timeZone: {
            readonly type: "string";
            readonly title: "Time Zone";
            readonly description: "IANA time zone (e.g. 'America/New_York', 'UTC')";
        };
    };
    readonly required: readonly ["value"];
    readonly additionalProperties: false;
};
declare const outputSchema: {
    readonly type: "object";
    readonly properties: {
        readonly result: {
            readonly type: "string";
            readonly title: "Result";
            readonly description: "Formatted date string";
        };
    };
    readonly required: readonly ["result"];
    readonly additionalProperties: false;
};
export type DateFormatTaskInput = FromSchema<typeof inputSchema>;
export type DateFormatTaskOutput = FromSchema<typeof outputSchema>;
export declare class DateFormatTask<Input extends DateFormatTaskInput = DateFormatTaskInput, Output extends DateFormatTaskOutput = DateFormatTaskOutput, Config extends TaskConfig = TaskConfig> extends Task<Input, Output, Config> {
    static readonly type = "DateFormatTask";
    static readonly category = "Utility";
    static title: string;
    static description: string;
    static inputSchema(): {
        readonly type: "object";
        readonly properties: {
            readonly value: {
                readonly type: "string";
                readonly title: "Value";
                readonly description: "Date string, ISO 8601 timestamp, or Unix timestamp in milliseconds";
            };
            readonly format: {
                readonly type: "string";
                readonly title: "Format";
                readonly enum: readonly ["iso", "date", "time", "datetime", "unix"];
                readonly description: "Output format: 'iso', 'date', 'time', 'datetime', 'unix'";
                readonly default: "iso";
            };
            readonly locale: {
                readonly type: "string";
                readonly title: "Locale";
                readonly description: "Locale string (e.g. 'en-US')";
                readonly default: "en-US";
            };
            readonly timeZone: {
                readonly type: "string";
                readonly title: "Time Zone";
                readonly description: "IANA time zone (e.g. 'America/New_York', 'UTC')";
            };
        };
        readonly required: readonly ["value"];
        readonly additionalProperties: false;
    };
    static outputSchema(): {
        readonly type: "object";
        readonly properties: {
            readonly result: {
                readonly type: "string";
                readonly title: "Result";
                readonly description: "Formatted date string";
            };
        };
        readonly required: readonly ["result"];
        readonly additionalProperties: false;
    };
    execute(input: Input, _context: IExecuteContext): Promise<Output | undefined>;
    executePreview(input: Input, _context: IExecutePreviewContext): Promise<Output | undefined>;
}
declare module "@workglow/task-graph" {
    interface Workflow {
        dateFormat: CreateWorkflow<DateFormatTaskInput, DateFormatTaskOutput, TaskConfig>;
    }
}
export {};
//# sourceMappingURL=DateFormatTask.d.ts.map