import type { temporal } from '@temporalio/proto'; import { Payload } from '../interfaces'; import { PayloadCodec } from '../converter/payload-codec'; import { ProtoFailure } from '../failure'; import { LoadedDataConverter } from '../converter/data-converter'; import { UserMetadata } from '../user-metadata'; import { DecodedPayload, DecodedProtoFailure, EncodedPayload, EncodedProtoFailure } from './codec-types'; /** * Decode through each codec, starting with the last codec. */ export declare function decode(codecs: PayloadCodec[], payloads: Payload[]): Promise; /** * Encode through each codec, starting with the first codec. */ export declare function encode(codecs: PayloadCodec[], payloads: Payload[]): Promise; /** Run {@link PayloadCodec.encode} on `payloads` */ export declare function encodeOptional(codecs: PayloadCodec[], payloads: Payload[] | null | undefined): Promise; /** Run {@link PayloadCodec.decode} on `payloads` */ export declare function decodeOptional(codecs: PayloadCodec[], payloads: Payload[] | null | undefined): Promise; /** Run {@link PayloadCodec.encode} on a single Payload */ export declare function encodeOptionalSingle(codecs: PayloadCodec[], payload: Payload | null | undefined): Promise; /** Run {@link PayloadCodec.decode} on a single Payload */ export declare function decodeOptionalSingle(codecs: PayloadCodec[], payload: Payload | null | undefined): Promise; /** Run {@link PayloadCodec.decode} and convert from a single Payload */ export declare function decodeOptionalSinglePayload(dataConverter: LoadedDataConverter, payload?: Payload | null | undefined): Promise; /** * Run {@link PayloadConverter.toPayload} on value, and then encode it. */ export declare function encodeToPayload(converter: LoadedDataConverter, value: unknown): Promise; /** * Decode `payloads` and then return {@link arrayFromPayloads}`. */ export declare function decodeArrayFromPayloads(converter: LoadedDataConverter, payloads?: Payload[] | null): Promise; /** * Decode `payloads` and then return {@link fromPayloadsAtIndex}. */ export declare function decodeFromPayloadsAtIndex(converter: LoadedDataConverter, index: number, payloads?: Payload[] | null): Promise; /** * Run {@link decodeFailure} and then return {@link failureToError}. */ export declare function decodeOptionalFailureToOptionalError(converter: LoadedDataConverter, failure: ProtoFailure | undefined | null): Promise; export declare function decodeOptionalMap(codecs: PayloadCodec[], payloads: Record | null | undefined): Promise | null | undefined>; /** * Run {@link PayloadConverter.toPayload} on values, and then encode them. */ export declare function encodeToPayloads(converter: LoadedDataConverter, ...values: unknown[]): Promise; /** * Run {@link PayloadCodec.decode} and then {@link PayloadConverter.fromPayload} on values in `map`. */ export declare function decodeMapFromPayloads(converter: LoadedDataConverter, map: Record | null | undefined): Promise | undefined>; /** Run {@link PayloadCodec.encode} on all values in `map` */ export declare function encodeMap(codecs: PayloadCodec[], map: Record | null | undefined): Promise | null | undefined>; /** * Run {@link PayloadConverter.toPayload} and then {@link PayloadCodec.encode} on values in `map`. */ export declare function encodeMapToPayloads(converter: LoadedDataConverter, map: Record): Promise>; /** * Run {@link errorToFailure} on `error`, and then {@link encodeFailure}. */ export declare function encodeErrorToFailure(dataConverter: LoadedDataConverter, error: unknown): Promise; /** * Return a new {@link ProtoFailure} with `codec.encode()` run on all the {@link Payload}s. */ export declare function encodeFailure(codecs: PayloadCodec[], failure: ProtoFailure): Promise; /** * Return a new {@link ProtoFailure} with `codec.decode()` run on all the {@link Payload}s. */ export declare function decodeFailure(codecs: PayloadCodec[], failure: ProtoFailure): Promise; /** * Return a new {@link ProtoFailure} with `codec.encode()` run on all the {@link Payload}s. */ export declare function encodeOptionalFailure(codecs: PayloadCodec[], failure: ProtoFailure | null | undefined): Promise; /** * Return a new {@link ProtoFailure} with `codec.encode()` run on all the {@link Payload}s. */ export declare function decodeOptionalFailure(codecs: PayloadCodec[], failure: ProtoFailure | null | undefined): Promise; /** * Mark all values in the map as encoded. * Use this for headers, which we don't encode. */ export declare function noopEncodeMap(map: Record | null | undefined): Record | null | undefined; export declare function noopEncodeSearchAttrs(attrs: temporal.api.common.v1.ISearchAttributes | null | undefined): temporal.api.common.v1.ISearchAttributes | null | undefined; /** * Mark all values in the map as decoded. * Use this for headers, which we don't encode. */ export declare function noopDecodeMap(map: Record | null | undefined): Record | null | undefined; export declare function encodeUserMetadata(dataConverter: LoadedDataConverter, staticSummary: string | undefined, staticDetails: string | undefined): Promise; export declare function decodeUserMetadata(dataConverter: LoadedDataConverter, metadata: temporal.api.sdk.v1.IUserMetadata | undefined | null): Promise;