export type { Account, Transaction, Category, CategoryGroup, Payee } 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.ZodOptional<z.ZodString>;
    startDate: z.ZodOptional<z.ZodString>;
    endDate: z.ZodOptional<z.ZodString>;
    minAmount: z.ZodOptional<z.ZodNumber>;
    maxAmount: z.ZodOptional<z.ZodNumber>;
    categoryName: z.ZodOptional<z.ZodString>;
    payeeName: z.ZodOptional<z.ZodString>;
    uncategorizedOnly: z.ZodOptional<z.ZodBoolean>;
    limit: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    accountId?: string | undefined;
    startDate?: string | undefined;
    endDate?: string | undefined;
    minAmount?: number | undefined;
    maxAmount?: number | undefined;
    categoryName?: string | undefined;
    payeeName?: string | undefined;
    uncategorizedOnly?: boolean | undefined;
    limit?: number | undefined;
}, {
    accountId?: string | undefined;
    startDate?: string | undefined;
    endDate?: string | undefined;
    minAmount?: number | undefined;
    maxAmount?: number | undefined;
    categoryName?: string | undefined;
    payeeName?: string | undefined;
    uncategorizedOnly?: boolean | 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.ZodOptional<z.ZodString>;
    includeOffBudget: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    months: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    months: number;
    includeOffBudget: boolean;
    accountId?: string | undefined;
}, {
    accountId?: string | undefined;
    months?: number | undefined;
    includeOffBudget?: boolean | 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 declare const UpdateSubtransactionSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    amount: z.ZodNumber;
    category: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    amount: number;
    id?: string | undefined;
    category?: string | undefined;
    notes?: string | undefined;
}, {
    amount: number;
    id?: string | undefined;
    category?: string | undefined;
    notes?: string | undefined;
}>;
export type UpdateSubtransaction = z.infer<typeof UpdateSubtransactionSchema>;
export declare const UpdateTransactionArgsSchema: z.ZodObject<{
    id: z.ZodString;
    account: z.ZodOptional<z.ZodString>;
    date: z.ZodOptional<z.ZodString>;
    amount: z.ZodOptional<z.ZodNumber>;
    payee: z.ZodOptional<z.ZodString>;
    payee_name: z.ZodOptional<z.ZodString>;
    imported_payee: z.ZodOptional<z.ZodString>;
    category: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
    imported_id: z.ZodOptional<z.ZodString>;
    cleared: z.ZodOptional<z.ZodBoolean>;
    subtransactions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        amount: z.ZodNumber;
        category: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        amount: number;
        id?: string | undefined;
        category?: string | undefined;
        notes?: string | undefined;
    }, {
        amount: number;
        id?: string | undefined;
        category?: string | undefined;
        notes?: string | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    id: string;
    amount?: number | undefined;
    category?: string | undefined;
    notes?: string | undefined;
    account?: string | undefined;
    date?: string | undefined;
    payee?: string | undefined;
    payee_name?: string | undefined;
    imported_payee?: string | undefined;
    imported_id?: string | undefined;
    cleared?: boolean | undefined;
    subtransactions?: {
        amount: number;
        id?: string | undefined;
        category?: string | undefined;
        notes?: string | undefined;
    }[] | undefined;
}, {
    id: string;
    amount?: number | undefined;
    category?: string | undefined;
    notes?: string | undefined;
    account?: string | undefined;
    date?: string | undefined;
    payee?: string | undefined;
    payee_name?: string | undefined;
    imported_payee?: string | undefined;
    imported_id?: string | undefined;
    cleared?: boolean | undefined;
    subtransactions?: {
        amount: number;
        id?: string | undefined;
        category?: string | undefined;
        notes?: string | undefined;
    }[] | undefined;
}>;
export type UpdateTransactionArgs = z.infer<typeof UpdateTransactionArgsSchema>;
export declare const UpdateTransactionDataSchema: z.ZodObject<Omit<{
    id: z.ZodString;
    account: z.ZodOptional<z.ZodString>;
    date: z.ZodOptional<z.ZodString>;
    amount: z.ZodOptional<z.ZodNumber>;
    payee: z.ZodOptional<z.ZodString>;
    payee_name: z.ZodOptional<z.ZodString>;
    imported_payee: z.ZodOptional<z.ZodString>;
    category: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
    imported_id: z.ZodOptional<z.ZodString>;
    cleared: z.ZodOptional<z.ZodBoolean>;
    subtransactions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        amount: z.ZodNumber;
        category: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        amount: number;
        id?: string | undefined;
        category?: string | undefined;
        notes?: string | undefined;
    }, {
        amount: number;
        id?: string | undefined;
        category?: string | undefined;
        notes?: string | undefined;
    }>, "many">>;
}, "id">, "strip", z.ZodTypeAny, {
    amount?: number | undefined;
    category?: string | undefined;
    notes?: string | undefined;
    account?: string | undefined;
    date?: string | undefined;
    payee?: string | undefined;
    payee_name?: string | undefined;
    imported_payee?: string | undefined;
    imported_id?: string | undefined;
    cleared?: boolean | undefined;
    subtransactions?: {
        amount: number;
        id?: string | undefined;
        category?: string | undefined;
        notes?: string | undefined;
    }[] | undefined;
}, {
    amount?: number | undefined;
    category?: string | undefined;
    notes?: string | undefined;
    account?: string | undefined;
    date?: string | undefined;
    payee?: string | undefined;
    payee_name?: string | undefined;
    imported_payee?: string | undefined;
    imported_id?: string | undefined;
    cleared?: boolean | undefined;
    subtransactions?: {
        amount: number;
        id?: string | undefined;
        category?: string | undefined;
        notes?: string | undefined;
    }[] | undefined;
}>;
export type UpdateTransactionData = z.infer<typeof UpdateTransactionDataSchema>;
export declare const SubtransactionSchema: z.ZodObject<{
    amount: z.ZodNumber;
    category: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    amount: number;
    category?: string | undefined;
    notes?: string | undefined;
}, {
    amount: number;
    category?: string | undefined;
    notes?: string | undefined;
}>;
export type Subtransaction = z.infer<typeof SubtransactionSchema>;
export declare const CreateTransactionArgsSchema: z.ZodObject<{
    account: z.ZodString;
    date: z.ZodString;
    amount: z.ZodNumber;
    payee: z.ZodOptional<z.ZodString>;
    payee_name: z.ZodOptional<z.ZodString>;
    imported_payee: z.ZodOptional<z.ZodString>;
    category: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
    imported_id: z.ZodOptional<z.ZodString>;
    transfer_id: z.ZodOptional<z.ZodString>;
    cleared: z.ZodOptional<z.ZodBoolean>;
    subtransactions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        amount: z.ZodNumber;
        category: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        amount: number;
        category?: string | undefined;
        notes?: string | undefined;
    }, {
        amount: number;
        category?: string | undefined;
        notes?: string | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    amount: number;
    account: string;
    date: string;
    category?: string | undefined;
    notes?: string | undefined;
    payee?: string | undefined;
    payee_name?: string | undefined;
    imported_payee?: string | undefined;
    imported_id?: string | undefined;
    cleared?: boolean | undefined;
    subtransactions?: {
        amount: number;
        category?: string | undefined;
        notes?: string | undefined;
    }[] | undefined;
    transfer_id?: string | undefined;
}, {
    amount: number;
    account: string;
    date: string;
    category?: string | undefined;
    notes?: string | undefined;
    payee?: string | undefined;
    payee_name?: string | undefined;
    imported_payee?: string | undefined;
    imported_id?: string | undefined;
    cleared?: boolean | undefined;
    subtransactions?: {
        amount: number;
        category?: string | undefined;
        notes?: string | undefined;
    }[] | undefined;
    transfer_id?: string | undefined;
}>;
export type CreateTransactionArgs = z.infer<typeof CreateTransactionArgsSchema>;
export declare const TransactionDataSchema: z.ZodObject<Omit<{
    account: z.ZodString;
    date: z.ZodString;
    amount: z.ZodNumber;
    payee: z.ZodOptional<z.ZodString>;
    payee_name: z.ZodOptional<z.ZodString>;
    imported_payee: z.ZodOptional<z.ZodString>;
    category: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
    imported_id: z.ZodOptional<z.ZodString>;
    transfer_id: z.ZodOptional<z.ZodString>;
    cleared: z.ZodOptional<z.ZodBoolean>;
    subtransactions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        amount: z.ZodNumber;
        category: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        amount: number;
        category?: string | undefined;
        notes?: string | undefined;
    }, {
        amount: number;
        category?: string | undefined;
        notes?: string | undefined;
    }>, "many">>;
}, "account">, "strip", z.ZodTypeAny, {
    amount: number;
    date: string;
    category?: string | undefined;
    notes?: string | undefined;
    payee?: string | undefined;
    payee_name?: string | undefined;
    imported_payee?: string | undefined;
    imported_id?: string | undefined;
    cleared?: boolean | undefined;
    subtransactions?: {
        amount: number;
        category?: string | undefined;
        notes?: string | undefined;
    }[] | undefined;
    transfer_id?: string | undefined;
}, {
    amount: number;
    date: string;
    category?: string | undefined;
    notes?: string | undefined;
    payee?: string | undefined;
    payee_name?: string | undefined;
    imported_payee?: string | undefined;
    imported_id?: string | undefined;
    cleared?: boolean | undefined;
    subtransactions?: {
        amount: number;
        category?: string | undefined;
        notes?: string | undefined;
    }[] | undefined;
    transfer_id?: string | undefined;
}>;
export type TransactionData = z.infer<typeof TransactionDataSchema>;
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