import { z } from "@hono/zod-openapi";
import { ArtifactComponentApiInsert, ArtifactComponentApiSelect, DataComponentInsert } from "@inkeep/agents-core";

//#region src/domains/run/artifacts/artifact-component-schema.d.ts

/**
 * Standard artifact reference component schema for tool responses
 */
declare class ArtifactReferenceSchema {
  private static readonly ARTIFACT_PROPS_SCHEMA;
  /**
   * Get the standard Zod schema for artifact reference components
   */
  static getSchema(): z.ZodType<any>;
  /**
   * Get complete DataComponent by adding missing fields to base definition
   */
  static getDataComponent(tenantId: string, projectId?: string): DataComponentInsert;
}
/**
 * Standard artifact creation component schema for data components
 */
declare class ArtifactCreateSchema {
  /**
   * Generate artifact create schemas - one for each artifact component type
   * @param artifactComponents - The available artifact components to generate schemas for
   * @returns Array of Zod schemas, one for each artifact component
   */
  static getSchemas(artifactComponents: Array<ArtifactComponentApiInsert | ArtifactComponentApiSelect>): z.ZodType<any>[];
  /**
   * Get DataComponents for artifact creation - one for each artifact component type
   * @param artifactComponents - The available artifact components to generate schemas for
   * @returns Array of DataComponent definitions, one for each artifact component
   */
  static getDataComponents(tenantId: string, projectId: string | undefined, artifactComponents: Array<ArtifactComponentApiInsert | ArtifactComponentApiSelect>): DataComponentInsert[];
}
//#endregion
export { ArtifactCreateSchema, ArtifactReferenceSchema };