import { FirehoseTransformationEvent, FirehoseTransformationResult } from 'aws-lambda';
import { D as DynamoDbStreamKinesisRecord } from './dynamodb-stream-record-CJtV6a1t.js';
import '@aws-sdk/client-dynamodb';

/**
 * Returns true when this stream/Kinesis record should not be archived because it
 * represents a **replica-side application** of a global-table change (the logical
 * write originated in another Region).
 *
 * - If `aws:rep:updateregion` is present on the item image and differs from
 *   `archiveLambdaRegion`, the change was replicated into this Region (archive
 *   only in the Region that matches `aws:rep:updateregion`).
 * - Otherwise, if `userIdentity` matches the DynamoDB replication service SLR,
 *   treat as replication. **Excluded:** TTL deletes (`type` Service and
 *   `principalId` `dynamodb.amazonaws.com`) per AWS stream Identity docs.
 *
 * For MREC global tables version 2019.11.21, AWS documents that stream records
 * may not carry distinguishable metadata; the recommended approach is a custom
 * “write region” attribute on items. If neither that attribute nor
 * `aws:rep:updateregion` nor replication `userIdentity` applies, this function
 * returns false (no drop)—duplicate archives are possible if identical pipelines
 * run in every Region without those signals.
 */
declare function shouldDropAsGlobalTableReplicationRecord(record: DynamoDbStreamKinesisRecord, archiveLambdaRegion: string): boolean;
declare function parseCurrentResourceKeys(record: DynamoDbStreamKinesisRecord): {
    tenantId: string;
    workspaceId: string;
    resourceType: string;
    resourceId: string;
    version: string;
} | null;
declare function buildArchivePayload(record: DynamoDbStreamKinesisRecord, keys: ReturnType<typeof parseCurrentResourceKeys>): Record<string, unknown>;
declare function handler(event: FirehoseTransformationEvent): Promise<FirehoseTransformationResult>;

export { DynamoDbStreamKinesisRecord, buildArchivePayload, handler, parseCurrentResourceKeys, shouldDropAsGlobalTableReplicationRecord };
