import { JsonSchemaProperty } from "./json-schemas.js";
import { z } from "@hono/zod-openapi";

//#region src/validation/extend-schemas.d.ts
declare const NameSchema: z.ZodString;
declare const DescriptionSchema: z.ZodOptional<z.ZodNullable<z.ZodString>>;
/**
 * Used in z.transform()
 */
declare function transformToJson<T extends string>(value: T, ctx: z.RefinementCtx<T>): any;
declare const DataComponentExtendSchema: {
  name: z.ZodString;
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
  props: z.ZodObject<{
    type: z.ZodLiteral<"object">;
    properties: z.ZodRecord<z.ZodString, z.ZodType<JsonSchemaProperty, unknown, z.core.$ZodTypeInternals<JsonSchemaProperty, unknown>>>;
    required: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
    additionalProperties: z.ZodOptional<z.ZodBoolean>;
    description: z.ZodOptional<z.ZodString>;
  }, z.core.$loose>;
};
declare const ArtifactComponentExtendSchema: {
  name: z.ZodString;
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
  props: z.ZodNullable<z.ZodObject<{
    type: z.ZodLiteral<"object">;
    properties: z.ZodRecord<z.ZodString, z.ZodType<JsonSchemaProperty, unknown, z.core.$ZodTypeInternals<JsonSchemaProperty, unknown>>>;
    required: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
    additionalProperties: z.ZodOptional<z.ZodBoolean>;
    description: z.ZodOptional<z.ZodString>;
  }, z.core.$loose>>;
};
type WithTimestamps<T> = T & {
  createdAt?: string;
  updatedAt?: string;
};
//#endregion
export { ArtifactComponentExtendSchema, DataComponentExtendSchema, DescriptionSchema, NameSchema, WithTimestamps, transformToJson };