import type { SimulateResponse, CompileResponse, DisassembleResponse, SimulateTraceConfig, PostTransactionsResponse } from 'algosdk/dist/types/client/v2/algod/models/types';
export declare const algodToolSchemas: {
    compileTeal: {
        type: string;
        properties: {
            source: {
                type: string;
                description: string;
            };
        };
        required: string[];
    };
    disassembleTeal: {
        type: string;
        properties: {
            bytecode: {
                type: string;
                description: string;
            };
        };
        required: string[];
    };
    sendRawTransaction: {
        type: string;
        properties: {
            signedTxns: {
                type: string;
                items: {
                    type: string;
                    description: string;
                };
                description: string;
            };
        };
        required: string[];
    };
    simulateRawTransactions: {
        type: string;
        properties: {
            txns: {
                type: string;
                items: {
                    type: string;
                    description: string;
                };
                description: string;
            };
        };
        required: string[];
    };
    simulateTransactions: {
        type: string;
        properties: {
            txnGroups: {
                type: string;
                items: {
                    type: string;
                    properties: {
                        txns: {
                            type: string;
                            items: {
                                type: string;
                                description: string;
                            };
                            description: string;
                        };
                    };
                    required: string[];
                    description: string;
                };
                description: string;
            };
            allowEmptySignatures: {
                type: string;
                optional: boolean;
                description: string;
            };
            allowMoreLogging: {
                type: string;
                optional: boolean;
                description: string;
            };
            allowUnnamedResources: {
                type: string;
                optional: boolean;
                description: string;
            };
            execTraceConfig: {
                type: string;
                optional: boolean;
                description: string;
            };
            extraOpcodeBudget: {
                type: string;
                optional: boolean;
                description: string;
            };
            round: {
                type: string;
                optional: boolean;
                description: string;
            };
        };
        required: string[];
    };
};
export declare class AlgodManager {
    static readonly algodTools: {
        name: string;
        description: string;
        inputSchema: any;
    }[];
    static handleTool(name: string, args: Record<string, unknown>): Promise<{
        content: {
            type: string;
            text: string;
        }[];
    }>;
    static compile(source: string | Uint8Array, algodClient: any): Promise<CompileResponse>;
    static disassemble(bytecode: string | Uint8Array, algodClient: any): Promise<DisassembleResponse>;
    static sendRawTransaction(signedTxns: Uint8Array | Uint8Array[], algodClient: any): Promise<PostTransactionsResponse>;
    static simulateRawTransactions(txns: Uint8Array | Uint8Array[], algodClient: any): Promise<SimulateResponse>;
    static simulateTransactions(request: {
        txnGroups: {
            txns: any[];
        }[];
        allowEmptySignatures?: boolean;
        allowMoreLogging?: boolean;
        allowUnnamedResources?: boolean;
        execTraceConfig?: SimulateTraceConfig;
        extraOpcodeBudget?: number;
        round?: number;
    }, algodClient: any): Promise<SimulateResponse>;
}
