export type { Account, Transaction, Category, CategoryGroup } from './core/types/domain.js';
import { z } from 'zod';
declare const _ToolInputSchema: z.ZodObject<{
    type: z.ZodLiteral<"object">;
    properties: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
    required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    type: z.ZodLiteral<"object">;
    properties: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
    required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    type: z.ZodLiteral<"object">;
    properties: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
    required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">>;
export type ToolInput = z.infer<typeof _ToolInputSchema>;
export interface BudgetFile {
    id?: string;
    cloudFileId?: string;
    name: string;
}
export declare const GetTransactionsArgsSchema: z.ZodObject<{
    accountId: z.ZodString;
    startDate: z.ZodOptional<z.ZodString>;
    endDate: z.ZodOptional<z.ZodString>;
    minAmount: z.ZodOptional<z.ZodNumber>;
    maxAmount: z.ZodOptional<z.ZodNumber>;
    category: z.ZodOptional<z.ZodString>;
    payee: z.ZodOptional<z.ZodString>;
    limit: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    accountId: string;
    startDate?: string | undefined;
    endDate?: string | undefined;
    minAmount?: number | undefined;
    maxAmount?: number | undefined;
    category?: string | undefined;
    payee?: string | undefined;
    limit?: number | undefined;
}, {
    accountId: string;
    startDate?: string | undefined;
    endDate?: string | undefined;
    minAmount?: number | undefined;
    maxAmount?: number | undefined;
    category?: string | undefined;
    payee?: string | undefined;
    limit?: number | undefined;
}>;
export type GetTransactionsArgs = z.infer<typeof GetTransactionsArgsSchema>;
export declare const SpendingByCategoryArgsSchema: z.ZodObject<{
    startDate: z.ZodOptional<z.ZodString>;
    endDate: z.ZodOptional<z.ZodString>;
    accountId: z.ZodOptional<z.ZodString>;
    includeIncome: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    accountId?: string | undefined;
    startDate?: string | undefined;
    endDate?: string | undefined;
    includeIncome?: boolean | undefined;
}, {
    accountId?: string | undefined;
    startDate?: string | undefined;
    endDate?: string | undefined;
    includeIncome?: boolean | undefined;
}>;
export type SpendingByCategoryArgs = z.infer<typeof SpendingByCategoryArgsSchema>;
export declare const MonthlySummaryArgsSchema: z.ZodObject<{
    months: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    accountId: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    months: number;
    accountId?: string | undefined;
}, {
    accountId?: string | undefined;
    months?: number | undefined;
}>;
export type MonthlySummaryArgs = z.infer<typeof MonthlySummaryArgsSchema>;
export declare const BalanceHistoryArgsSchema: z.ZodObject<{
    accountId: z.ZodString;
    months: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    accountId: string;
    months: number;
}, {
    accountId: string;
    months?: number | undefined;
}>;
export type BalanceHistoryArgs = z.infer<typeof BalanceHistoryArgsSchema>;
export declare const FinancialInsightsArgsSchema: z.ZodObject<{
    startDate: z.ZodOptional<z.ZodString>;
    endDate: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    startDate?: string | undefined;
    endDate?: string | undefined;
}, {
    startDate?: string | undefined;
    endDate?: string | undefined;
}>;
export type FinancialInsightsArgs = z.infer<typeof FinancialInsightsArgsSchema>;
export declare const BudgetReviewArgsSchema: z.ZodObject<{
    months: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    months: number;
}, {
    months?: number | undefined;
}>;
export type BudgetReviewArgs = z.infer<typeof BudgetReviewArgsSchema>;
export interface CategoryGroupInfo {
    id: string;
    name: string;
    isIncome: boolean;
    isSavingsOrInvestment: boolean;
}
export interface CategorySpending {
    name: string;
    group: string;
    isIncome: boolean;
    total: number;
    transactions: number;
}
export interface GroupSpending {
    name: string;
    total: number;
    categories: CategorySpending[];
}
export interface MonthData {
    year: number;
    month: number;
    income: number;
    expenses: number;
    investments: number;
    transactions: number;
}
export interface MonthBalance {
    year: number;
    month: number;
    balance: number;
    transactions: number;
}
//# sourceMappingURL=types.d.ts.map