import { KeyType } from 'aws-sdk/clients/dynamodb';
import { Attribute } from '../../../mapper/type/attribute.type';
import { MomentType } from '../../../mapper/type/moment.type';
import { PropertyMetadata } from '../../metadata/property-metadata.model';
import { IndexType } from '../index/index-type.enum';
import { PropertyData } from './property-data.model';
export declare const KEY_PROPERTY = "sc-reflect:property";
export declare type AttributeModelTypes = string | number | boolean | Date | MomentType | Set<any> | any[];
export interface IndexData {
    name: string;
    keyType: KeyType;
}
export declare function Property(opts?: Partial<PropertyData>): PropertyDecorator;
export declare function initOrUpdateIndex(indexType: IndexType, indexData: IndexData, target: any, propertyKey: string): void;
export declare function initOrUpdateProperty(propertyMetadata: Partial<PropertyMetadata<any, Attribute>> | undefined, target: any, propertyKey: string): void;
