import { Artifact, ArtifactComponentApiInsert, ArtifactComponentApiSelect, DataComponentApiInsert } from "@inkeep/agents-core";

//#region src/domains/run/agents/versions/v1/Phase2Config.d.ts

/**
 * Configuration for Phase 2 structured output generation
 * Handles data components, artifact creation, and JSON formatting guidance
 */
declare class Phase2Config {
  private getArtifactCreationGuidance;
  private getStructuredArtifactGuidance;
  private getArtifactCreationInstructions;
  private generateDataComponentsSection;
  private generateDataComponentXml;
  private generateParametersXml;
  private generateArtifactsSection;
  private generateArtifactXml;
  private generateCurrentTimeSection;
  /**
   * Assemble the complete Phase 2 system prompt for structured output generation
   */
  assemblePhase2Prompt(config: {
    corePrompt: string;
    dataComponents: DataComponentApiInsert[];
    artifactComponents?: Array<ArtifactComponentApiInsert | ArtifactComponentApiSelect>;
    hasArtifactComponents: boolean;
    hasAgentArtifactComponents?: boolean;
    artifacts?: Artifact[];
    clientCurrentTime?: string;
  }): string;
}
//#endregion
export { Phase2Config };