import { AttributeValue } from '@aws-sdk/client-dynamodb';

/**
 * Shape of a DynamoDB change record as delivered inside Kinesis (table stream
 * destination) and decoded by the Firehose transform Lambda.
 */
interface DynamoDbStreamKinesisRecord {
    eventName?: string;
    userIdentity?: unknown;
    dynamodb?: {
        Keys?: Record<string, AttributeValue>;
        NewImage?: Record<string, AttributeValue>;
        OldImage?: Record<string, AttributeValue>;
        SequenceNumber?: string;
        ApproximateCreationDateTime?: number;
    };
}

export type { DynamoDbStreamKinesisRecord as D };
