/**
 * @fileoverview Get user's financial institutions from PocketSmith
 */
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const GetInstitutionsInputSchema: 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 GetInstitutionsInput = z.infer<typeof GetInstitutionsInputSchema>;
export declare const GetInstitutionsResponseSchema: z.ZodObject<{
    institutions: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        title: z.ZodString;
        currency_code: z.ZodString;
        created_at: z.ZodOptional<z.ZodString>;
        updated_at: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: number;
        currency_code: string;
        created_at?: string | undefined;
        updated_at?: string | undefined;
    }, {
        title: string;
        id: number;
        currency_code: string;
        created_at?: string | undefined;
        updated_at?: string | undefined;
    }>, "many">;
    totalCount: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    totalCount: number;
    institutions: {
        title: string;
        id: number;
        currency_code: string;
        created_at?: string | undefined;
        updated_at?: string | undefined;
    }[];
}, {
    totalCount: number;
    institutions: {
        title: string;
        id: number;
        currency_code: string;
        created_at?: string | undefined;
        updated_at?: string | undefined;
    }[];
}>;
export type GetInstitutionsResponse = z.infer<typeof GetInstitutionsResponseSchema>;
export declare function getInstitutionsLogic(params: GetInstitutionsInput, context: RequestContext): Promise<GetInstitutionsResponse>;
export declare const registerGetInstitutionsTool: (server: McpServer) => Promise<void>;
