import { SuggestionResult } from "../Documents/Queries/Suggestions/SuggestionResult.js"; export interface EntitiesCollectionObject extends IRavenObject { [id: string]: TEntity | null; } export interface RevisionsCollectionObject extends IRavenObject { [changeVector: string]: TEntity | null; } export interface SuggestionsResponseObject { [fieldName: string]: SuggestionResult; } export interface IRavenObject { [property: string]: T; } export interface IRavenArrayResult { results: any[]; } export type CompareExchangeResultClass = T extends object ? EntityConstructor : unknown; export interface ClassConstructor { name: string; new (...args: any[]): T; } export interface EntityConstructor { new (...args: any): T; name: string; } export type ObjectTypeDescriptor = EntityConstructor | ObjectLiteralDescriptor; export declare abstract class EntityObjectLiteralDescriptor implements ObjectLiteralDescriptor { abstract name: string; abstract isType(obj: object): any; abstract construct(dto: object): T; } export interface ObjectLiteralDescriptor { name: string; isType(obj: object): boolean; construct(dto: object): TResult; } export declare abstract class PropsBasedObjectLiteralDescriptor implements EntityObjectLiteralDescriptor { abstract name: string; abstract properties: string[]; abstract construct(dto: object): T; isType(obj: object): boolean; private _hasProperties; } export type CapitalizeType = { [K in keyof T & string as `${Capitalize}`]: T[K]; }; export type Field = keyof T & string | string; export type ServerResponse = T extends Date | string ? T : { [K in keyof T]: T[K] extends Date ? string : ServerResponse; }; export type CapitalizeObjectKeys = T extends Array ? Array> : T extends object ? { [K in keyof T as Capitalize]: CapitalizeObjectKeys; } : T; export type ServerCasing = CapitalizeObjectKeys; //# sourceMappingURL=index.d.ts.map