import { MongoDocument, ObjectId } from './MongoTypes'; import { Constructor } from 'agentframework'; export declare const CollectionType: unique symbol; export declare function AddMetadata(target: any, key: string, value: any): void; export declare function HasMetadata(target: any, key: string): boolean; export declare function GetMetadata(target: any, key: string, defaults?: any): any; export declare function CreateIdString(): string; export declare function CreateId(): [ObjectId, string, string]; export declare function CreateObjectId(id?: ObjectId | string | number | Date): ObjectId; export declare function CreateObjectIdForDocument(document: MongoDocument): MongoDocument; export declare function ConvertObjectIdForDocument(document: MongoDocument): MongoDocument; export declare function ConvertObjectIdToString(id: ObjectId): string; export declare function IsValidUpdateDocument(document: MongoDocument): MongoDocument; export declare function IsValidObjectId(id: any): any; export declare function IsObjectIdExpired(id: any, durationMs: number): boolean; export declare function MarkUpdateExisting(document: any, upsert?: boolean, clone?: boolean): any; export declare function IsUpdateExisting(document: MongoDocument): boolean; export declare function MarkTotalCount(target: any, total: number): any; export declare function GetTotalCount(target: any): number; export declare function GetModelCollectionType(model: any): Constructor; export declare function IdStr(doc: any): any;