import { FunctionName, ServiceName, GenericTransactionReturn, Transaction, TransactionReturn, UsePrepareProgramTransactionParameters, SignAndSendOptions } from './types'; declare function usePrepareProgramTransaction, TFunctionName extends FunctionName, TTransaction extends Transaction, TTransactionReturn extends TransactionReturn>({ program, serviceName, functionName, }: UsePrepareProgramTransactionParameters): { data: undefined; variables: undefined; error: null; isError: false; isIdle: true; isPending: false; isSuccess: false; status: "idle"; mutate: import('@tanstack/react-query').UseMutateFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; reset: () => void; context: unknown; failureCount: number; failureReason: Error | null; isPaused: boolean; submittedAt: number; mutateAsync: import('@tanstack/react-query').UseMutateAsyncFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; prepareTransaction: import('@tanstack/react-query').UseMutateFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; prepareTransactionAsync: import('@tanstack/react-query').UseMutateAsyncFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; } | { data: undefined; variables: SignAndSendOptions>; error: null; isError: false; isIdle: false; isPending: true; isSuccess: false; status: "pending"; mutate: import('@tanstack/react-query').UseMutateFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; reset: () => void; context: unknown; failureCount: number; failureReason: Error | null; isPaused: boolean; submittedAt: number; mutateAsync: import('@tanstack/react-query').UseMutateAsyncFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; prepareTransaction: import('@tanstack/react-query').UseMutateFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; prepareTransactionAsync: import('@tanstack/react-query').UseMutateAsyncFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; } | { data: undefined; error: Error; variables: SignAndSendOptions>; isError: true; isIdle: false; isPending: false; isSuccess: false; status: "error"; mutate: import('@tanstack/react-query').UseMutateFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; reset: () => void; context: unknown; failureCount: number; failureReason: Error | null; isPaused: boolean; submittedAt: number; mutateAsync: import('@tanstack/react-query').UseMutateAsyncFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; prepareTransaction: import('@tanstack/react-query').UseMutateFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; prepareTransactionAsync: import('@tanstack/react-query').UseMutateAsyncFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; } | { data: { transaction: TTransactionReturn; fee: bigint; }; error: null; variables: SignAndSendOptions>; isError: false; isIdle: false; isPending: false; isSuccess: true; status: "success"; mutate: import('@tanstack/react-query').UseMutateFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; reset: () => void; context: unknown; failureCount: number; failureReason: Error | null; isPaused: boolean; submittedAt: number; mutateAsync: import('@tanstack/react-query').UseMutateAsyncFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; prepareTransaction: import('@tanstack/react-query').UseMutateFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; prepareTransactionAsync: import('@tanstack/react-query').UseMutateAsyncFunction<{ transaction: TTransactionReturn; fee: bigint; }, Error, SignAndSendOptions>, unknown>; }; export { usePrepareProgramTransaction }; export type { UsePrepareProgramTransactionParameters };