export declare const UPSTREAM_MAKER_PACKAGE = "@osdk/maker"; export declare const UPSTREAM_MAKER_VERSION = "0.16.0-beta.7"; export type TableName = `datastudio_${string}`; export type TableCategory = "master-data" | "quality-events" | "analytics" | "system"; export type TableDomain = "masterData" | "pharmaQualityOps" | "analytics" | "application" | "accessControl"; export type ExampleValue = boolean | null | number | string | readonly ExampleValue[]; export type PrimitiveTypeName = "boolean" | "double" | "integer" | "string" | "timestamp"; export interface PrimitiveValueTypeDefinition { readonly type: PrimitiveTypeName; } export interface EnumValueTypeDefinition { readonly type: "enum"; readonly values: readonly [string, ...string[]]; } export type ValueTypeDefinitionInput = EnumValueTypeDefinition | PrimitiveValueTypeDefinition; export interface PrismantixValueTypeDefinition { readonly apiName: string; readonly description?: string; readonly displayName: string; readonly entityType: "valueType"; readonly exampleValues?: readonly ExampleValue[]; readonly type: ValueTypeDefinitionInput; } export interface ExternalObjectDefinition { readonly apiName: string; readonly description?: string; readonly displayName: string; readonly entityType: "externalObject"; readonly pluralDisplayName: string; readonly tableName: TableName; } export type ReferenceTarget = ExternalObjectDefinition | PrismantixObjectDefinition | string; export interface PrismantixPropertyMetadata { readonly promptExcluded?: boolean; readonly systemManaged?: boolean; } export interface PrismantixObjectPropertyDefinition { readonly array?: boolean; readonly description?: string; readonly displayName: string; readonly exampleValues?: readonly ExampleValue[]; readonly nullable?: boolean; readonly optional?: boolean; readonly prismantix?: PrismantixPropertyMetadata; readonly reference?: ReferenceTarget; readonly type: PrimitiveTypeName | PrismantixValueTypeDefinition; } export interface OntologyIndexDefinition { readonly fields: readonly [string, ...string[]]; readonly name: string; } export interface PrismantixObjectMetadata { readonly category: TableCategory; readonly convex: { readonly componentName: "ontology"; readonly indexes: readonly OntologyIndexDefinition[]; readonly materialized: boolean; readonly tableName: TableName; }; readonly defaults?: { readonly fabricationCount?: number; readonly seedCount?: number; }; readonly domain: TableDomain; readonly guidance?: readonly string[]; readonly notes?: string; readonly requiresClient: boolean; readonly seeding?: { readonly order?: number; readonly requires?: readonly TableName[]; readonly skipReason?: string; }; readonly showInNavigation: boolean; } export interface PrismantixObjectDefinition { readonly aliases?: readonly string[]; readonly apiName: string; readonly description?: string; readonly displayName: string; readonly editsEnabled?: boolean; readonly entityType: "object"; readonly pluralDisplayName: string; readonly primaryKeyPropertyApiName: string; readonly prismantix: PrismantixObjectMetadata; readonly properties: Readonly>; readonly titlePropertyApiName: string; } export interface LinkSideDefinition { readonly apiName: string; readonly description?: string; readonly displayName: string; readonly object: ReferenceTarget; readonly pluralDisplayName: string; } export interface OneToManyLinkDefinition { readonly apiName: string; readonly cardinality?: "OneToMany" | "OneToOne"; readonly description?: string; readonly entityType: "link"; readonly manyForeignKeyProperty: string; readonly one: LinkSideDefinition; readonly toMany: LinkSideDefinition; } export interface ManyToManyLinkDefinition { readonly apiName: string; readonly description?: string; readonly entityType: "link"; readonly many: LinkSideDefinition; readonly manyForeignKeyProperty?: string; readonly toMany: LinkSideDefinition; readonly toManyForeignKeyProperty?: string; } export type PrismantixLinkDefinition = ManyToManyLinkDefinition | OneToManyLinkDefinition; export declare function defineValueType(valueType: Omit): PrismantixValueTypeDefinition; export declare function defineExternalObject(object: Omit): ExternalObjectDefinition; export declare function defineObject(object: Omit): PrismantixObjectDefinition; export declare function defineLink(link: Omit): OneToManyLinkDefinition; export declare function defineLink(link: Omit): ManyToManyLinkDefinition; export declare function uppercaseFirstLetter(value: string | null | undefined): string; export declare function convertToDisplayName(value: string | null | undefined): string; export declare function convertToPluralDisplayName(value: string | null | undefined): string; export declare function isEnumValueType(valueType: PrismantixValueTypeDefinition): valueType is PrismantixValueTypeDefinition & { readonly type: EnumValueTypeDefinition; };