import _m0 from 'protobufjs/minimal';
import { Duration } from '../../../../../google/protobuf/duration';
export declare const protobufPackage = "yandex.cloud.serverless.workflows.v1";
export interface HistoryEntry {
    /** ID of the Workflow step. */
    id: string;
    /** Title of the Workflow step. */
    title: string;
    /** Description of the Workflow step. */
    description: string;
    /** Start timestamp for the Workflow step. */
    startedAt?: Date;
    /** Duration of the Workflow step. */
    duration?: Duration;
    /** Input data for the Workflow step. */
    input?: HistoryEntryInput;
    /** Result of the Workflow step. */
    output?: HistoryEntryOutput;
    /** Error details, in case Workflow step failed. */
    error?: HistoryEntryError;
    /** Status of the Workflow step. */
    status: HistoryEntry_Status;
    /** Type of the Workflow step (for example, FunctionCall or HttpCall). */
    type: string;
    /** Number of attempts (including all retries of unsuccessful attempts). Value "1" means there were no retries. */
    attempts: number;
    /** Last received error details in case of retries. */
    lastError?: HistoryEntryError;
}
export declare enum HistoryEntry_Status {
    STATUS_UNSPECIFIED = 0,
    /** SCHEDULED - Step execution is being scheduled. */
    SCHEDULED = 1,
    /** STARTED - Step execution is started. */
    STARTED = 2,
    /** COMPLETED - Step execution is completed. */
    COMPLETED = 3,
    /** FAILED - Step execution is failed. */
    FAILED = 4,
    /** CANCEL_REQUESTED - Step execution is requested to be cancelled. */
    CANCEL_REQUESTED = 5,
    /** CANCELLED - Step execution is canceled. */
    CANCELLED = 6,
    UNRECOGNIZED = -1
}
export declare function historyEntry_StatusFromJSON(object: any): HistoryEntry_Status;
export declare function historyEntry_StatusToJSON(object: HistoryEntry_Status): string;
export interface HistoryEntry_FailedAttempt {
    /** Start timestamp for the attempt. */
    startedAt?: Date;
    /** Duration of the attempt. */
    duration?: Duration;
    /** Error details. */
    error?: HistoryEntryError;
}
export interface HistoryEntryInput {
    /** JSON input data for the Workflow step. */
    inputJson: string | undefined;
}
export interface HistoryEntryOutput {
    /** JSON result for the Workflow step. */
    outputJson: string | undefined;
}
export interface HistoryEntryError {
    /** Error message of the Workflow step. */
    message: string;
    /** Error code of the Workflow step. */
    errorCode: string;
}
export declare const HistoryEntry: {
    encode(message: HistoryEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): HistoryEntry;
    fromJSON(object: any): HistoryEntry;
    toJSON(message: HistoryEntry): unknown;
    fromPartial<I extends {
        id?: string | undefined;
        title?: string | undefined;
        description?: string | undefined;
        startedAt?: Date | undefined;
        duration?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
        input?: {
            inputJson?: string | undefined;
        } | undefined;
        output?: {
            outputJson?: string | undefined;
        } | undefined;
        error?: {
            message?: string | undefined;
            errorCode?: string | undefined;
        } | undefined;
        status?: HistoryEntry_Status | undefined;
        type?: string | undefined;
        attempts?: number | undefined;
        lastError?: {
            message?: string | undefined;
            errorCode?: string | undefined;
        } | undefined;
    } & {
        id?: string | undefined;
        title?: string | undefined;
        description?: string | undefined;
        startedAt?: Date | undefined;
        duration?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & Record<Exclude<keyof I["duration"], keyof Duration>, never>) | undefined;
        input?: ({
            inputJson?: string | undefined;
        } & {
            inputJson?: string | undefined;
        } & Record<Exclude<keyof I["input"], "inputJson">, never>) | undefined;
        output?: ({
            outputJson?: string | undefined;
        } & {
            outputJson?: string | undefined;
        } & Record<Exclude<keyof I["output"], "outputJson">, never>) | undefined;
        error?: ({
            message?: string | undefined;
            errorCode?: string | undefined;
        } & {
            message?: string | undefined;
            errorCode?: string | undefined;
        } & Record<Exclude<keyof I["error"], keyof HistoryEntryError>, never>) | undefined;
        status?: HistoryEntry_Status | undefined;
        type?: string | undefined;
        attempts?: number | undefined;
        lastError?: ({
            message?: string | undefined;
            errorCode?: string | undefined;
        } & {
            message?: string | undefined;
            errorCode?: string | undefined;
        } & Record<Exclude<keyof I["lastError"], keyof HistoryEntryError>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof HistoryEntry>, never>>(object: I): HistoryEntry;
};
export declare const HistoryEntry_FailedAttempt: {
    encode(message: HistoryEntry_FailedAttempt, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): HistoryEntry_FailedAttempt;
    fromJSON(object: any): HistoryEntry_FailedAttempt;
    toJSON(message: HistoryEntry_FailedAttempt): unknown;
    fromPartial<I extends {
        startedAt?: Date | undefined;
        duration?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
        error?: {
            message?: string | undefined;
            errorCode?: string | undefined;
        } | undefined;
    } & {
        startedAt?: Date | undefined;
        duration?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & Record<Exclude<keyof I["duration"], keyof Duration>, never>) | undefined;
        error?: ({
            message?: string | undefined;
            errorCode?: string | undefined;
        } & {
            message?: string | undefined;
            errorCode?: string | undefined;
        } & Record<Exclude<keyof I["error"], keyof HistoryEntryError>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof HistoryEntry_FailedAttempt>, never>>(object: I): HistoryEntry_FailedAttempt;
};
export declare const HistoryEntryInput: {
    encode(message: HistoryEntryInput, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): HistoryEntryInput;
    fromJSON(object: any): HistoryEntryInput;
    toJSON(message: HistoryEntryInput): unknown;
    fromPartial<I extends {
        inputJson?: string | undefined;
    } & {
        inputJson?: string | undefined;
    } & Record<Exclude<keyof I, "inputJson">, never>>(object: I): HistoryEntryInput;
};
export declare const HistoryEntryOutput: {
    encode(message: HistoryEntryOutput, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): HistoryEntryOutput;
    fromJSON(object: any): HistoryEntryOutput;
    toJSON(message: HistoryEntryOutput): unknown;
    fromPartial<I extends {
        outputJson?: string | undefined;
    } & {
        outputJson?: string | undefined;
    } & Record<Exclude<keyof I, "outputJson">, never>>(object: I): HistoryEntryOutput;
};
export declare const HistoryEntryError: {
    encode(message: HistoryEntryError, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): HistoryEntryError;
    fromJSON(object: any): HistoryEntryError;
    toJSON(message: HistoryEntryError): unknown;
    fromPartial<I extends {
        message?: string | undefined;
        errorCode?: string | undefined;
    } & {
        message?: string | undefined;
        errorCode?: string | undefined;
    } & Record<Exclude<keyof I, keyof HistoryEntryError>, never>>(object: I): HistoryEntryError;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
export {};
