import { Scope } from "./permissions-BBgPgD70.js";
import { ServerContext } from "./types-DjbiyvLT.js";
import { z } from "zod";
import { EmbeddedResource, ImageContent, TextContent } from "@modelcontextprotocol/sdk/types.js";

//#region src/tools/types.d.ts
interface ToolConfig<TSchema extends Record<string, z.ZodType> = Record<string, z.ZodType>> {
  name: string;
  description: string;
  inputSchema: TSchema;
  requiredScopes: Scope[];
  annotations: {
    readOnlyHint?: boolean;
    destructiveHint?: boolean;
    idempotentHint?: boolean;
    openWorldHint?: boolean;
  };
  handler: (params: z.infer<z.ZodObject<TSchema>>, context: ServerContext) => Promise<string | (TextContent | ImageContent | EmbeddedResource)[]>;
}
/**
 * Response from the search API endpoint
 */
interface SearchResponse {
  query: string;
  results: Array<{
    id: string;
    url: string;
    snippet: string;
    relevance: number;
  }>;
  error?: string;
}
//# sourceMappingURL=types.d.ts.map
//#endregion
export { SearchResponse, ToolConfig };
//# sourceMappingURL=types-Bu5blaB3.d.ts.map