import { StringTypeComparisonOperator, BinaryTypeComparisonOperator, NumberTypeComparisonOperator, BooleanTypeComparisonOperator, NullTypeComparisonOperator } from "../enums/dynamodb-operator"; export interface DynamoDBFilters { condition?: NodeFilter; AND?: DynamoDBFilters[]; OR?: DynamoDBFilters[]; } export interface NodeFilter { name: string; value: DynamoDBType; } export interface DynamoDBType { value: any; comparisonOperator: any; } export interface DynamoDBStringType extends DynamoDBType { value: string | BetweenValue; comparisonOperator: StringTypeComparisonOperator; } export interface DynamoDBBinaryType extends DynamoDBType { value: number | BetweenValue; comparisonOperator: BinaryTypeComparisonOperator; } export interface DynamoDBNumberType extends DynamoDBType { value: number | BetweenValue; comparisonOperator: NumberTypeComparisonOperator; } export interface DynamoDBBooleanType extends DynamoDBType { value: boolean; comparisonOperator: BooleanTypeComparisonOperator; } export interface DynamoDBNullType extends DynamoDBType { comparisonOperator: NullTypeComparisonOperator; } export interface BetweenValue { start: T; end: T; }