import type * as Layer from "effect/Layer"; import type * as GroupSpec from "@confect/core/GroupSpec"; import type * as FunctionSpec from "@confect/core/FunctionSpec"; import type * as DatabaseSchema from "./DatabaseSchema"; import type * as GroupImpl from "./GroupImpl"; import * as RegisteredConvexFunction from "./RegisteredConvexFunction"; import type * as RegisteredFunctions from "./RegisteredFunctions"; export interface Definitions { readonly [name: string]: RegisteredConvexFunction.Definition | Definitions; } type DefinitionTag = Provenance extends { readonly _tag: "Convex"; } ? "Registered" : `${Capitalize}${Capitalize}`; export type ForGroup = { readonly [Name in FunctionSpec.Name>]: Extract, Name>>; }>; } & { readonly [Name in GroupSpec.Name>]: ForGroup, Name>>; }; export declare const isDefinition: (value: RegisteredConvexFunction.Definition | Definitions) => value is RegisteredConvexFunction.Definition; export declare const register: (definitions: Definitions) => RegisteredFunctions.RegisteredFunctionsForGroupSpec; export declare const buildForGroup: (databaseSchema: DatabaseSchema.AnyWithProps, groupLayer: Layer.Layer>) => ForGroup; export {}; //# sourceMappingURL=ConvexFunctionDefinitions.d.ts.map