/**
 * @fileoverview Get automatic categorization rules from PocketSmith
 * Retrieves all automatic categorization rules for a user, which define how
 * transactions are automatically categorized based on payee name patterns.
 * Rules match against transaction payee names and automatically assign categories.
 */
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const GetCategoryRulesInputSchema: z.ZodObject<{
    apiKey: z.ZodOptional<z.ZodString>;
    accessToken: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    apiKey?: string | undefined;
    accessToken?: string | undefined;
}, {
    apiKey?: string | undefined;
    accessToken?: string | undefined;
}>;
export type GetCategoryRulesInput = z.infer<typeof GetCategoryRulesInputSchema>;
export declare const GetCategoryRulesResponseSchema: z.ZodObject<{
    rules: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        category_id: z.ZodNumber;
        category_title: z.ZodOptional<z.ZodString>;
        payee_matches: z.ZodOptional<z.ZodString>;
        created_at: z.ZodOptional<z.ZodString>;
        updated_at: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: number;
        category_id: number;
        created_at?: string | undefined;
        updated_at?: string | undefined;
        category_title?: string | undefined;
        payee_matches?: string | undefined;
    }, {
        id: number;
        category_id: number;
        created_at?: string | undefined;
        updated_at?: string | undefined;
        category_title?: string | undefined;
        payee_matches?: string | undefined;
    }>, "many">;
    summary: z.ZodObject<{
        totalRules: z.ZodNumber;
        rulesWithPayeeMatching: z.ZodNumber;
        categoriesWithRules: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        totalRules: number;
        rulesWithPayeeMatching: number;
        categoriesWithRules: number;
    }, {
        totalRules: number;
        rulesWithPayeeMatching: number;
        categoriesWithRules: number;
    }>;
}, "strip", z.ZodTypeAny, {
    summary: {
        totalRules: number;
        rulesWithPayeeMatching: number;
        categoriesWithRules: number;
    };
    rules: {
        id: number;
        category_id: number;
        created_at?: string | undefined;
        updated_at?: string | undefined;
        category_title?: string | undefined;
        payee_matches?: string | undefined;
    }[];
}, {
    summary: {
        totalRules: number;
        rulesWithPayeeMatching: number;
        categoriesWithRules: number;
    };
    rules: {
        id: number;
        category_id: number;
        created_at?: string | undefined;
        updated_at?: string | undefined;
        category_title?: string | undefined;
        payee_matches?: string | undefined;
    }[];
}>;
export type GetCategoryRulesResponse = z.infer<typeof GetCategoryRulesResponseSchema>;
export declare function getCategoryRulesLogic(params: GetCategoryRulesInput, context: RequestContext): Promise<GetCategoryRulesResponse>;
export declare const registerGetCategoryRulesTool: (server: McpServer) => Promise<void>;
