/**
 * @fileoverview Get a specific transaction by ID from PocketSmith
 */
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const GetTransactionInputSchema: z.ZodObject<{
    apiKey: z.ZodOptional<z.ZodString>;
    accessToken: z.ZodOptional<z.ZodString>;
    transactionId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    transactionId: number;
    apiKey?: string | undefined;
    accessToken?: string | undefined;
}, {
    transactionId: number;
    apiKey?: string | undefined;
    accessToken?: string | undefined;
}>;
export type GetTransactionInput = z.infer<typeof GetTransactionInputSchema>;
export declare const GetTransactionResponseSchema: z.ZodObject<{
    transaction: z.ZodObject<{
        id: z.ZodNumber;
        payee: z.ZodString;
        amount: z.ZodNumber;
        date: z.ZodString;
        note: z.ZodNullable<z.ZodString>;
        category: z.ZodOptional<z.ZodObject<{
            id: z.ZodNumber;
            title: z.ZodString;
            colour: z.ZodNullable<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            title: string;
            id: number;
            colour: string | null;
        }, {
            title: string;
            id: number;
            colour: string | null;
        }>>;
        account: z.ZodObject<{
            id: z.ZodNumber;
            name: z.ZodString;
            type: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: string;
            name: string;
            id: number;
        }, {
            type: string;
            name: string;
            id: number;
        }>;
        currency_code: z.ZodString;
        type: z.ZodString;
        created_at: z.ZodOptional<z.ZodString>;
        updated_at: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: string;
        id: number;
        date: string;
        currency_code: string;
        payee: string;
        amount: number;
        note: string | null;
        account: {
            type: string;
            name: string;
            id: number;
        };
        category?: {
            title: string;
            id: number;
            colour: string | null;
        } | undefined;
        created_at?: string | undefined;
        updated_at?: string | undefined;
    }, {
        type: string;
        id: number;
        date: string;
        currency_code: string;
        payee: string;
        amount: number;
        note: string | null;
        account: {
            type: string;
            name: string;
            id: number;
        };
        category?: {
            title: string;
            id: number;
            colour: string | null;
        } | undefined;
        created_at?: string | undefined;
        updated_at?: string | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    transaction: {
        type: string;
        id: number;
        date: string;
        currency_code: string;
        payee: string;
        amount: number;
        note: string | null;
        account: {
            type: string;
            name: string;
            id: number;
        };
        category?: {
            title: string;
            id: number;
            colour: string | null;
        } | undefined;
        created_at?: string | undefined;
        updated_at?: string | undefined;
    };
}, {
    transaction: {
        type: string;
        id: number;
        date: string;
        currency_code: string;
        payee: string;
        amount: number;
        note: string | null;
        account: {
            type: string;
            name: string;
            id: number;
        };
        category?: {
            title: string;
            id: number;
            colour: string | null;
        } | undefined;
        created_at?: string | undefined;
        updated_at?: string | undefined;
    };
}>;
export type GetTransactionResponse = z.infer<typeof GetTransactionResponseSchema>;
export declare function getTransactionLogic(params: GetTransactionInput, context: RequestContext): Promise<GetTransactionResponse>;
export declare const registerGetTransactionTool: (server: McpServer) => Promise<void>;
