/**
 * @fileoverview Get user's transaction accounts from PocketSmith
 */
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const GetTransactionAccountsInputSchema: 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 GetTransactionAccountsInput = z.infer<typeof GetTransactionAccountsInputSchema>;
export declare const GetTransactionAccountsResponseSchema: z.ZodObject<{
    transactionAccounts: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        name: z.ZodString;
        number: z.ZodNullable<z.ZodString>;
        current_balance: z.ZodNumber;
        current_balance_date: z.ZodString;
        current_balance_in_base_currency: z.ZodNumber;
        safe_balance: z.ZodNullable<z.ZodNumber>;
        safe_balance_in_base_currency: z.ZodNullable<z.ZodNumber>;
        starting_balance: z.ZodNumber;
        starting_balance_date: z.ZodString;
        currency_code: z.ZodString;
        type: z.ZodString;
        institution: z.ZodOptional<z.ZodObject<{
            id: z.ZodNumber;
            title: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            title: string;
            id: number;
        }, {
            title: string;
            id: number;
        }>>;
        created_at: z.ZodOptional<z.ZodString>;
        updated_at: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        number: string | null;
        type: string;
        name: string;
        id: number;
        currency_code: string;
        current_balance: number;
        current_balance_date: string;
        current_balance_in_base_currency: number;
        safe_balance: number | null;
        safe_balance_in_base_currency: number | null;
        starting_balance: number;
        starting_balance_date: string;
        created_at?: string | undefined;
        updated_at?: string | undefined;
        institution?: {
            title: string;
            id: number;
        } | undefined;
    }, {
        number: string | null;
        type: string;
        name: string;
        id: number;
        currency_code: string;
        current_balance: number;
        current_balance_date: string;
        current_balance_in_base_currency: number;
        safe_balance: number | null;
        safe_balance_in_base_currency: number | null;
        starting_balance: number;
        starting_balance_date: string;
        created_at?: string | undefined;
        updated_at?: string | undefined;
        institution?: {
            title: string;
            id: number;
        } | undefined;
    }>, "many">;
    summary: z.ZodObject<{
        totalAccounts: z.ZodNumber;
        totalBalance: z.ZodNumber;
        accountsByType: z.ZodRecord<z.ZodString, z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        totalBalance: number;
        totalAccounts: number;
        accountsByType: Record<string, number>;
    }, {
        totalBalance: number;
        totalAccounts: number;
        accountsByType: Record<string, number>;
    }>;
}, "strip", z.ZodTypeAny, {
    summary: {
        totalBalance: number;
        totalAccounts: number;
        accountsByType: Record<string, number>;
    };
    transactionAccounts: {
        number: string | null;
        type: string;
        name: string;
        id: number;
        currency_code: string;
        current_balance: number;
        current_balance_date: string;
        current_balance_in_base_currency: number;
        safe_balance: number | null;
        safe_balance_in_base_currency: number | null;
        starting_balance: number;
        starting_balance_date: string;
        created_at?: string | undefined;
        updated_at?: string | undefined;
        institution?: {
            title: string;
            id: number;
        } | undefined;
    }[];
}, {
    summary: {
        totalBalance: number;
        totalAccounts: number;
        accountsByType: Record<string, number>;
    };
    transactionAccounts: {
        number: string | null;
        type: string;
        name: string;
        id: number;
        currency_code: string;
        current_balance: number;
        current_balance_date: string;
        current_balance_in_base_currency: number;
        safe_balance: number | null;
        safe_balance_in_base_currency: number | null;
        starting_balance: number;
        starting_balance_date: string;
        created_at?: string | undefined;
        updated_at?: string | undefined;
        institution?: {
            title: string;
            id: number;
        } | undefined;
    }[];
}>;
export type GetTransactionAccountsResponse = z.infer<typeof GetTransactionAccountsResponseSchema>;
export declare function getTransactionAccountsLogic(params: GetTransactionAccountsInput, context: RequestContext): Promise<GetTransactionAccountsResponse>;
export declare const registerGetTransactionAccountsTool: (server: McpServer) => Promise<void>;
