import type { SchemaType } from '@trust0/ridb-core'; type StringKeys = Exclude, "uuid">; type KeysOf = { [K in keyof T]-?: X extends T[K] ? K : never; }[StringKeys]; type KeysFor = P extends "number" ? KeysOf : P extends "string" ? KeysOf : P extends "boolean" ? KeysOf : never; type PropertyTypes = "boolean" | "number" | "string"; interface SchemaGenerator { addProperty

(type: P, key: KeysFor, opts?: any): void; addProperty(type: PropertyTypes, key: string, opts?: any): void; setEncrypted(...keys: StringKeys[]): void; setRequired(...keys: StringKeys[]): void; setVersion(version: number): void; } /** * helper for creating Schemas * handle repetitive and improve type safety * * @param generator * @returns */ export declare const schemaFactory: (generator: (schema: SchemaGenerator) => void) => SchemaType & { required: string[]; encrypted: []; }; export {};