/** * @fileoverview Search independent expenditures (Schedule E) — outside spending * by Super PACs, party committees, and other groups supporting or opposing * federal candidates. Key dataset for tracking outside money in elections. * @module mcp-server/tools/definitions/search-expenditures.tool */ import { z } from '@cyanheads/mcp-ts-core'; import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors'; export declare const searchExpenditures: import("@cyanheads/mcp-ts-core").ToolDefinition>; committee_id: z.ZodOptional; candidate_id: z.ZodOptional; support_oppose: z.ZodOptional>; payee_name: z.ZodOptional; candidate_office: z.ZodOptional>; candidate_office_state: z.ZodOptional; candidate_office_district: z.ZodOptional; candidate_party: z.ZodOptional; cycle: z.ZodOptional; min_date: z.ZodOptional; max_date: z.ZodOptional; min_amount: z.ZodOptional; max_amount: z.ZodOptional; is_notice: z.ZodOptional; most_recent: z.ZodOptional; sort: z.ZodOptional>; page: z.ZodDefault; per_page: z.ZodDefault; cursor: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ results: z.ZodArray>; mode: z.ZodEnum<{ by_candidate: "by_candidate"; itemized: "itemized"; }>; committee: z.ZodOptional>; next_cursor: z.ZodOptional>; count: z.ZodOptional; pagination: z.ZodOptional>; search_criteria: z.ZodObject<{}, z.core.$loose>; }, z.core.$strip>, readonly [{ readonly reason: "by_candidate_requires_scope"; readonly code: JsonRpcErrorCode.ValidationError; readonly when: "by_candidate mode invoked without a candidate_id and without a full race scope"; readonly recovery: "Pass a candidate_id (find one with openfec_search_candidates), or scope a whole race: candidate_office=P on its own, candidate_office=S with candidate_office_state, or candidate_office=H with both candidate_office_state and candidate_office_district."; }, { readonly reason: "itemized_only_filters_in_aggregate_mode"; readonly code: JsonRpcErrorCode.ValidationError; readonly when: "An itemized-only filter (payee_name, candidate_party, a date or amount bound, is_notice, most_recent, sort, cursor) was supplied alongside mode by_candidate, which cannot apply it"; readonly recovery: "Re-run with mode \"itemized\" to filter by payee, party, date range, amount, or notice status, or drop the named inputs to keep the per-candidate aggregate. by_candidate accepts only committee_id, candidate_id, support_oppose, candidate_office, candidate_office_state, candidate_office_district, cycle, mode, page, per_page."; }], { readonly totalCount: z.ZodNumber; readonly notice: z.ZodOptional; }>; //# sourceMappingURL=search-expenditures.tool.d.ts.map