import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { TriggerInputs } from "./triggerinputs.js";
/**
 * Additional metadata related to this workflow instance
 */
export type WorkflowInstanceMetadata = {
    /**
     * Identifier of the user who originally created the workflow definition
     */
    workflowCreatedBy?: string | undefined;
    /**
     * Version string of the deployed workflow
     */
    workflowVersion?: string | undefined;
    /**
     * Identifier for workflow definition metadata in the system
     */
    workflowMetadataId?: string | undefined;
};
export type WorkflowInstance = {
    /**
     * Unique identifier for the workflow instance
     */
    id?: string | undefined;
    /**
     * Human-readable name for the workflow instance
     */
    name?: string | undefined;
    /**
     * Current status of the workflow (e.g. In Progress, Completed, Canceled)
     */
    workflowStatus?: string | undefined;
    /**
     * Identifier linking this instance to a workflow template
     */
    templateId?: string | undefined;
    /**
     * Account under which this workflow instance was initiated
     */
    accountId?: string | undefined;
    /**
     * Date and time when the workflow was started
     */
    startedAt?: Date | undefined;
    /**
     * User or system identifier that started this workflow
     */
    startedBy?: string | undefined;
    /**
     * Display name of the user who started this workflow
     */
    startedByName?: string | undefined;
    /**
     * Role of the user who started this workflow (e.g. Preparer)
     */
    startedByRole?: string | undefined;
    /**
     * Date and time when the workflow completed
     */
    endedAt?: Date | null | undefined;
    /**
     * Date and time after which the workflow expires
     */
    expiresAt?: Date | null | undefined;
    /**
     * Date and time when the workflow instance was last modified
     */
    lastModifiedAt?: Date | undefined;
    /**
     * Date and time when the workflow was canceled (if applicable)
     */
    canceledAt?: Date | null | undefined;
    /**
     * User or system identifier that canceled this workflow (if applicable)
     */
    canceledBy?: string | null | undefined;
    /**
     * Key-value pairs representing the input data required to trigger the workflow.
     *
     * @remarks
     * The keys correspond to the `field_name` values defined in the `trigger_input_schema` of the workflow definition.
     * The values should match the specified `field_data_type` (e.g., string, number, boolean).
     * Example: {"name": "John Doe", "email": "johndoe@example.com"}
     */
    triggerInputs?: {
        [k: string]: TriggerInputs;
    } | undefined;
    /**
     * Total number of steps configured in the workflow
     */
    totalSteps?: number | undefined;
    /**
     * The index of the most recently completed step
     */
    lastCompletedStep?: number | undefined;
    /**
     * The name of the most recently completed step
     */
    lastCompletedStepName?: string | null | undefined;
    /**
     * Custom tags for organization or filtering
     */
    tags?: Array<string> | undefined;
    /**
     * Additional metadata related to this workflow instance
     */
    metadata?: WorkflowInstanceMetadata | undefined;
};
/** @internal */
export declare const WorkflowInstanceMetadata$inboundSchema: z.ZodType<WorkflowInstanceMetadata, z.ZodTypeDef, unknown>;
export declare function workflowInstanceMetadataFromJSON(jsonString: string): SafeParseResult<WorkflowInstanceMetadata, SDKValidationError>;
/** @internal */
export declare const WorkflowInstance$inboundSchema: z.ZodType<WorkflowInstance, z.ZodTypeDef, unknown>;
export declare function workflowInstanceFromJSON(jsonString: string): SafeParseResult<WorkflowInstance, SDKValidationError>;
//# sourceMappingURL=workflowinstance.d.ts.map