import * as GroupSpec from "./GroupSpec"; export declare const TypeId = "@confect/core/Spec"; export type TypeId = typeof TypeId; export declare const isSpec: (u: unknown) => u is AnyWithProps; /** * A Confect spec: a flat container of function groups. Groups may be of any * runtime — a group built with `GroupSpec.makeNode()` (a Node action group) sits * alongside `GroupSpec.make()` groups in the same namespace. The runtime of a * group lives on the group itself (`GroupSpec.runtime`) and on each function's * `RuntimeAndFunctionType`; the spec does not carry a runtime of its own. */ export interface Spec { readonly [TypeId]: TypeId; readonly groups: { [GroupName in GroupSpec.Name]: GroupSpec.WithName; }; add(group: Group): Spec; addAt(name: Name, group: Group): Spec>; } export interface Any { readonly [TypeId]: TypeId; } export interface AnyWithProps extends Spec { } export type Groups = Spec_["groups"][keyof Spec_["groups"]]; export declare const make: () => Spec; //# sourceMappingURL=Spec.d.ts.map