import type { ZodType } from 'zod'; import type { envelopeDiscriminator } from '../envelopes/envelope.js'; import type { ParsedResult } from './parser.js'; type DynamoDBStreamEnvelopeResponse = { NewImage?: T; OldImage?: T; }; interface ArrayEnvelope { [envelopeDiscriminator]: 'array'; parse(data: unknown, schema: ZodType): T[]; safeParse(data: unknown, schema: ZodType): ParsedResult; } interface DynamoDBArrayEnvelope { [envelopeDiscriminator]: 'array'; parse(data: unknown, schema: ZodType): DynamoDBStreamEnvelopeResponse[]; safeParse(data: unknown, schema: ZodType): ParsedResult[]>; } interface ObjectEnvelope { [envelopeDiscriminator]: 'object'; parse(data: unknown, schema: ZodType): T; safeParse(data: unknown, schema: ZodType): ParsedResult; } type Envelope = ArrayEnvelope | DynamoDBArrayEnvelope | ObjectEnvelope | undefined; export type { ArrayEnvelope, DynamoDBArrayEnvelope, DynamoDBStreamEnvelopeResponse, Envelope, ObjectEnvelope, }; //# sourceMappingURL=envelope.d.ts.map