import { SolanaBaseProcessor, SolanaContext, SolanaBindOptions, SolanaFetchConfig } from "../index.js";
import { Instruction } from '@coral-xyz/anchor';
import { AmountToUiAmount, Approve, ApproveChecked, Burn, BurnChecked, CloseAccount, CreateNativeMint, DefaultAccountStateExtension, FreezeAccount, GetAccountDataSize, InitializeAccount, InitializeAccount2, InitializeAccount3, InitializeImmutableOwner, InitializeMint, InitializeMintCloseAuthority, InitializeMultisig, MemoTransferExtension, MintTo, MintToChecked, Reallocate, Revoke, SyncNative, ThawAccount, Transfer, TransferChecked, TransferFeeExtension, UiAmountToAmount } from './types.js';
import { HandlerOptions } from '../../core/handler-options.js';
export declare class SPLTokenProcessor extends SolanaBaseProcessor {
    static bind(options: SolanaBindOptions): SPLTokenProcessor;
    fromParsedInstruction: (instruction: {
        type: string;
        info: any;
    }) => Instruction | null;
    onInitializeMint(handler: (data: InitializeMint, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onInitializeAccount(handler: (data: InitializeAccount, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onInitializeAccount2(handler: (data: InitializeAccount2, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onInitializeAccount3(handler: (data: InitializeAccount3, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onInitializeMultisig(handler: (data: InitializeMultisig, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onTransfer(handler: (data: Transfer, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onApprove(handler: (data: Approve, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onRevoke(handler: (data: Revoke, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onSetAuthority(handler: (data: any, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onMintTo(handler: (data: MintTo, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onBurn(handler: (data: Burn, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onCloseAccount(handler: (data: CloseAccount, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onFreezeAccount(handler: (data: FreezeAccount, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onThawAccount(handler: (data: ThawAccount, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onTransferChecked(handler: (data: TransferChecked, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onApproveChecked(handler: (data: ApproveChecked, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onMintToChecked(handler: (data: MintToChecked, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onBurnChecked(handler: (data: BurnChecked, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onSyncNative(handler: (data: SyncNative, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onGetAccountDataSize(handler: (data: GetAccountDataSize, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onInitializeImmutableOwner(handler: (data: InitializeImmutableOwner, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onAmountToUiAmount(handler: (data: AmountToUiAmount, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onUiAmountToAmount(handler: (data: UiAmountToAmount, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onInitializeMintCloseAuthority(handler: (data: InitializeMintCloseAuthority, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onTransferFeeExtension(handler: (data: TransferFeeExtension, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onDefaultAccountStateExtension(handler: (data: DefaultAccountStateExtension, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onReallocate(handler: (data: Reallocate, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onMemoTransferExtension(handler: (data: MemoTransferExtension, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
    onCreateNativeMint(handler: (data: CreateNativeMint, ctx: SolanaContext) => void, handlerOptions?: HandlerOptions<SolanaFetchConfig, Instruction>): SPLTokenProcessor;
}
//# sourceMappingURL=spl-token-processor.d.ts.map