import { SentryApiService } from "./client-njqQAP-R.js";
import { AgentToolResponse } from "./utils-BV58GdRy.js";
import { z } from "zod";
import * as ai285 from "ai";

//#region src/tools/search-events/utils.d.ts
type FlexibleEventData = Record<string, unknown>;
declare function getStringValue(event: FlexibleEventData, key: string, defaultValue?: string): string;
declare function getNumberValue(event: FlexibleEventData, key: string): number | undefined;
declare function isAggregateQuery(fields: string[]): boolean;
declare function fetchCustomAttributes(apiService: SentryApiService, organizationSlug: string, dataset: "errors" | "logs" | "spans", projectId?: string, timeParams?: {
  statsPeriod?: string;
  start?: string;
  end?: string;
}): Promise<{
  attributes: Record<string, string>;
  fieldTypes: Record<string, "string" | "number">;
}>;
/**
 * Create a tool for the agent to query available attributes by dataset
 * The tool is pre-bound with the API service and organization configured for the appropriate region
 */
declare function createDatasetAttributesTool(options: {
  apiService: SentryApiService;
  organizationSlug: string;
  projectId?: string;
}): ai285.Tool<z.ZodType<{
  dataset: "spans" | "logs" | "errors";
}, z.ZodTypeDef, {
  dataset: "spans" | "logs" | "errors";
}>, AgentToolResponse<string>> & {
  execute: (args: {
    dataset: "spans" | "logs" | "errors";
  }, options: ai285.ToolExecutionOptions) => PromiseLike<AgentToolResponse<string>>;
};
//# sourceMappingURL=utils.d.ts.map
//#endregion
export { FlexibleEventData, createDatasetAttributesTool, fetchCustomAttributes, getNumberValue, getStringValue, isAggregateQuery };
//# sourceMappingURL=utils-gp7BwMLy.d.ts.map