/**
 * @fileoverview Get user accounts from PocketSmith
 */
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const GetAccountsInputSchema: 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 GetAccountsInput = z.infer<typeof GetAccountsInputSchema>;
export declare const GetAccountsResponseSchema: z.ZodObject<{
    user: z.ZodObject<{
        id: z.ZodNumber;
        name: z.ZodString;
        email: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        id: number;
        email: string;
    }, {
        name: string;
        id: number;
        email: string;
    }>;
    accounts: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        name: z.ZodString;
        type: z.ZodString;
        currency_code: z.ZodString;
        current_balance: z.ZodNumber;
        current_balance_date: z.ZodString;
        current_balance_exchange_rate: z.ZodNullable<z.ZodNumber>;
        current_balance_in_base_currency: z.ZodNumber;
        safe_balance: z.ZodNullable<z.ZodNumber>;
        safe_balance_in_base_currency: z.ZodNullable<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: string;
        name: string;
        id: number;
        currency_code: string;
        current_balance: number;
        current_balance_date: string;
        current_balance_exchange_rate: number | null;
        current_balance_in_base_currency: number;
        safe_balance: number | null;
        safe_balance_in_base_currency: number | null;
    }, {
        type: string;
        name: string;
        id: number;
        currency_code: string;
        current_balance: number;
        current_balance_date: string;
        current_balance_exchange_rate: number | null;
        current_balance_in_base_currency: number;
        safe_balance: number | null;
        safe_balance_in_base_currency: number | null;
    }>, "many">;
    totalBalance: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    user: {
        name: string;
        id: number;
        email: string;
    };
    accounts: {
        type: string;
        name: string;
        id: number;
        currency_code: string;
        current_balance: number;
        current_balance_date: string;
        current_balance_exchange_rate: number | null;
        current_balance_in_base_currency: number;
        safe_balance: number | null;
        safe_balance_in_base_currency: number | null;
    }[];
    totalBalance: number;
}, {
    user: {
        name: string;
        id: number;
        email: string;
    };
    accounts: {
        type: string;
        name: string;
        id: number;
        currency_code: string;
        current_balance: number;
        current_balance_date: string;
        current_balance_exchange_rate: number | null;
        current_balance_in_base_currency: number;
        safe_balance: number | null;
        safe_balance_in_base_currency: number | null;
    }[];
    totalBalance: number;
}>;
export type GetAccountsResponse = z.infer<typeof GetAccountsResponseSchema>;
export declare function getAccountsLogic(params: GetAccountsInput, context: RequestContext): Promise<GetAccountsResponse>;
export declare const registerGetAccountsTool: (server: McpServer) => Promise<void>;
