/**
 * @fileoverview Get available currencies from PocketSmith
 */
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const GetCurrenciesInputSchema: 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 GetCurrenciesInput = z.infer<typeof GetCurrenciesInputSchema>;
export declare const GetCurrenciesResponseSchema: z.ZodObject<{
    currencies: z.ZodArray<z.ZodObject<{
        code: z.ZodString;
        name: z.ZodString;
        symbol: z.ZodNullable<z.ZodString>;
        minor_unit: z.ZodOptional<z.ZodNumber>;
        separators: z.ZodOptional<z.ZodObject<{
            major: z.ZodOptional<z.ZodString>;
            minor: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            major?: string | undefined;
            minor?: string | undefined;
        }, {
            major?: string | undefined;
            minor?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        symbol: string | null;
        code: string;
        name: string;
        minor_unit?: number | undefined;
        separators?: {
            major?: string | undefined;
            minor?: string | undefined;
        } | undefined;
    }, {
        symbol: string | null;
        code: string;
        name: string;
        minor_unit?: number | undefined;
        separators?: {
            major?: string | undefined;
            minor?: string | undefined;
        } | undefined;
    }>, "many">;
    totalCount: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    totalCount: number;
    currencies: {
        symbol: string | null;
        code: string;
        name: string;
        minor_unit?: number | undefined;
        separators?: {
            major?: string | undefined;
            minor?: string | undefined;
        } | undefined;
    }[];
}, {
    totalCount: number;
    currencies: {
        symbol: string | null;
        code: string;
        name: string;
        minor_unit?: number | undefined;
        separators?: {
            major?: string | undefined;
            minor?: string | undefined;
        } | undefined;
    }[];
}>;
export type GetCurrenciesResponse = z.infer<typeof GetCurrenciesResponseSchema>;
export declare function getCurrenciesLogic(params: GetCurrenciesInput, context: RequestContext): Promise<GetCurrenciesResponse>;
export declare const registerGetCurrenciesTool: (server: McpServer) => Promise<void>;
