declare module "../../scripts/pkl-utils/dynamic-evaluator.js" {
  export class PklDynamicEvaluator {
    constructor(options?: {
      tempDir?: string;
      cacheEnabled?: boolean;
      pklCommand?: string;
    });

    evaluateTemplate(
      template: string,
      context?: any,
      options?: {
        timeout?: number;
        format?: string;
      }
    ): Promise<any>;

    buildSearchTemplate(
      entityType: string,
      searchTerm: string,
      filters?: any,
      context?: any
    ): string;

    buildVariantTemplate(
      entityType: string,
      entityId: string,
      variantParams?: any
    ): string;

    buildShotsToKillTemplate(unitA: string, unitB: string): string;

    buildAggregationTemplate(aggregationType: string, params?: any): string;

    healthCheck(): Promise<any>;

    clearCache(): void;

    getCacheStats(): any;
  }
}
