import { GroupMetadata, PartialBy, PropGroup } from "./types.js";
import * as _sinclair_typebox5725 from "@sinclair/typebox";
import { ObjectOptions, TObject, TProperties, TSchema } from "@sinclair/typebox";

//#region src/shared/bricks/props/helpers.d.ts
declare function group<T extends TProperties>({
  title,
  children,
  category,
  metadata,
  options
}: PartialBy<PropGroup<T>, "category">): TObject<T> | TObject<_sinclair_typebox5725.Evaluate<_sinclair_typebox5725.TSetDistinct<[..._sinclair_typebox5725.UnionToTuple<keyof T, [], _sinclair_typebox5725.UnionLast<keyof T>>], []> extends infer T_1 ? T_1 extends _sinclair_typebox5725.TSetDistinct<[..._sinclair_typebox5725.UnionToTuple<keyof T, [], _sinclair_typebox5725.UnionLast<keyof T>>], []> ? T_1 extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? /*elided*/any : { [_ in L]: _sinclair_typebox5725.TIntersectEvaluated<_sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_2 ? T_2 extends _sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_2 extends _sinclair_typebox5725.TNever ? _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_3 ? T_3 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_3 extends _sinclair_typebox5725.TNever ? [] : [T_3] : never : never : _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_4 ? T_4 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_4 extends _sinclair_typebox5725.TNever ? [T_2] : [T_2, T_4] : never : never : never : never> } : { [_ in L]: _sinclair_typebox5725.TIntersectEvaluated<_sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_2 ? T_2 extends _sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_2 extends _sinclair_typebox5725.TNever ? _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_3 ? T_3 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_3 extends _sinclair_typebox5725.TNever ? [] : [T_3] : never : never : _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_4 ? T_4 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_4 extends _sinclair_typebox5725.TNever ? [T_2] : [T_2, T_4] : never : never : never : never> } : { [_ in L]: _sinclair_typebox5725.TIntersectEvaluated<_sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_2 ? T_2 extends _sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_2 extends _sinclair_typebox5725.TNever ? _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_3 ? T_3 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_3 extends _sinclair_typebox5725.TNever ? [] : [T_3] : never : never : _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_4 ? T_4 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_4 extends _sinclair_typebox5725.TNever ? [T_2] : [T_2, T_4] : never : never : never : never> } : { [_ in L]: _sinclair_typebox5725.TIntersectEvaluated<_sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_2 ? T_2 extends _sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_2 extends _sinclair_typebox5725.TNever ? _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_3 ? T_3 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_3 extends _sinclair_typebox5725.TNever ? [] : [T_3] : never : never : _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_4 ? T_4 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_4 extends _sinclair_typebox5725.TNever ? [T_2] : [T_2, T_4] : never : never : never : never> } : { [_ in L]: _sinclair_typebox5725.TIntersectEvaluated<_sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_2 ? T_2 extends _sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_2 extends _sinclair_typebox5725.TNever ? _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_3 ? T_3 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_3 extends _sinclair_typebox5725.TNever ? [] : [T_3] : never : never : _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_4 ? T_4 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_4 extends _sinclair_typebox5725.TNever ? [T_2] : [T_2, T_4] : never : never : never : never> } : { [_ in L]: _sinclair_typebox5725.TIntersectEvaluated<_sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_2 ? T_2 extends _sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_2 extends _sinclair_typebox5725.TNever ? _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_3 ? T_3 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_3 extends _sinclair_typebox5725.TNever ? [] : [T_3] : never : never : _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_4 ? T_4 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_4 extends _sinclair_typebox5725.TNever ? [T_2] : [T_2, T_4] : never : never : never : never> } : { [_ in L]: _sinclair_typebox5725.TIntersectEvaluated<_sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_2 ? T_2 extends _sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_2 extends _sinclair_typebox5725.TNever ? _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_3 ? T_3 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_3 extends _sinclair_typebox5725.TNever ? [] : [T_3] : never : never : _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_4 ? T_4 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_4 extends _sinclair_typebox5725.TNever ? [T_2] : [T_2, T_4] : never : never : never : never> } : { [_ in L]: _sinclair_typebox5725.TIntersectEvaluated<_sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_2 ? T_2 extends _sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_2 extends _sinclair_typebox5725.TNever ? _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_3 ? T_3 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_3 extends _sinclair_typebox5725.TNever ? [] : [T_3] : never : never : _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_4 ? T_4 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_4 extends _sinclair_typebox5725.TNever ? [T_2] : [T_2, T_4] : never : never : never : never> } : { [_ in L]: _sinclair_typebox5725.TIntersectEvaluated<_sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_2 ? T_2 extends _sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_2 extends _sinclair_typebox5725.TNever ? _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_3 ? T_3 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_3 extends _sinclair_typebox5725.TNever ? [] : [T_3] : never : never : _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_4 ? T_4 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_4 extends _sinclair_typebox5725.TNever ? [T_2] : [T_2, T_4] : never : never : never : never> } : { [_ in L]: _sinclair_typebox5725.TIntersectEvaluated<_sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_2 ? T_2 extends _sinclair_typebox5725.Assert<L extends never ? {}[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends never ? {}[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_2 extends _sinclair_typebox5725.TNever ? _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_3 ? T_3 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_3 extends _sinclair_typebox5725.TNever ? [] : [T_3] : never : never : _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> extends infer T_4 ? T_4 extends _sinclair_typebox5725.Assert<L extends keyof T ? T[L] : `${_sinclair_typebox5725.Assert<L, string | number>}` extends `${_sinclair_typebox5725.Assert<keyof T, string | number>}` ? T[_sinclair_typebox5725.Assert<L, string | number>] : _sinclair_typebox5725.TNever, TSchema> ? T_4 extends _sinclair_typebox5725.TNever ? [T_2] : [T_2, T_4] : never : never : never : never> } : {} : never : never>>;
declare function getGroupInfo(schema: TSchema): {
  title: string | undefined;
  meta: GroupMetadata;
  tab: string;
};
declare function defineProps<P extends TProperties>(props: P, options?: ObjectOptions & {
  noGrow?: boolean;
  noAlignSelf?: boolean;
}): TObject<{
  lastTouched: _sinclair_typebox5725.TOptional<_sinclair_typebox5725.TNumber>;
  hidden: _sinclair_typebox5725.TOptional<TObject<{
    desktop: _sinclair_typebox5725.TOptional<_sinclair_typebox5725.TBoolean>;
    mobile: _sinclair_typebox5725.TOptional<_sinclair_typebox5725.TBoolean>;
  }>>;
  editable: _sinclair_typebox5725.TOptional<_sinclair_typebox5725.TBoolean>;
  width: _sinclair_typebox5725.TOptional<_sinclair_typebox5725.TString>;
  height: _sinclair_typebox5725.TOptional<_sinclair_typebox5725.TString>;
  grow: _sinclair_typebox5725.TOptional<_sinclair_typebox5725.TBoolean>;
  alignSelf: _sinclair_typebox5725.TOptional<_sinclair_typebox5725.TUnsafe<"self-auto" | "self-start" | "self-center" | "self-end" | "self-stretch">>;
} & P>;
declare const array: <Type extends TSchema>(items: Type, options?: _sinclair_typebox5725.ArrayOptions) => _sinclair_typebox5725.TArray<Type>;
//#endregion
export { array, defineProps, getGroupInfo, group };
//# sourceMappingURL=helpers.d.ts.map