/**
 * @fileoverview Get budget analysis from PocketSmith
 */
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const GetBudgetsInputSchema: 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 GetBudgetsInput = z.infer<typeof GetBudgetsInputSchema>;
export declare const GetBudgetsResponseSchema: z.ZodObject<{
    budgetAnalysis: z.ZodArray<z.ZodObject<{
        category: z.ZodObject<{
            id: z.ZodNumber;
            title: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            title: string;
            id: number;
        }, {
            title: string;
            id: number;
        }>;
        budget: z.ZodOptional<z.ZodNumber>;
        actual: z.ZodNumber;
        difference: z.ZodNumber;
        percentage: z.ZodOptional<z.ZodNumber>;
        period: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        category: {
            title: string;
            id: number;
        };
        actual: number;
        difference: number;
        period?: string | undefined;
        budget?: number | undefined;
        percentage?: number | undefined;
    }, {
        category: {
            title: string;
            id: number;
        };
        actual: number;
        difference: number;
        period?: string | undefined;
        budget?: number | undefined;
        percentage?: number | undefined;
    }>, "many">;
    summary: z.ZodObject<{
        totalBudgeted: z.ZodNumber;
        totalActual: z.ZodNumber;
        totalDifference: z.ZodNumber;
        categoriesOverBudget: z.ZodNumber;
        categoriesUnderBudget: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        totalBudgeted: number;
        totalActual: number;
        totalDifference: number;
        categoriesOverBudget: number;
        categoriesUnderBudget: number;
    }, {
        totalBudgeted: number;
        totalActual: number;
        totalDifference: number;
        categoriesOverBudget: number;
        categoriesUnderBudget: number;
    }>;
}, "strip", z.ZodTypeAny, {
    summary: {
        totalBudgeted: number;
        totalActual: number;
        totalDifference: number;
        categoriesOverBudget: number;
        categoriesUnderBudget: number;
    };
    budgetAnalysis: {
        category: {
            title: string;
            id: number;
        };
        actual: number;
        difference: number;
        period?: string | undefined;
        budget?: number | undefined;
        percentage?: number | undefined;
    }[];
}, {
    summary: {
        totalBudgeted: number;
        totalActual: number;
        totalDifference: number;
        categoriesOverBudget: number;
        categoriesUnderBudget: number;
    };
    budgetAnalysis: {
        category: {
            title: string;
            id: number;
        };
        actual: number;
        difference: number;
        period?: string | undefined;
        budget?: number | undefined;
        percentage?: number | undefined;
    }[];
}>;
export type GetBudgetsResponse = z.infer<typeof GetBudgetsResponseSchema>;
export declare function getBudgetsLogic(params: GetBudgetsInput, context: RequestContext): Promise<GetBudgetsResponse>;
export declare const registerGetBudgetsTool: (server: McpServer) => Promise<void>;
