import type { BatchOperation, ContractProvider, OperationBatch, ParamsWithKind, TransactionOperation } from '@taquito/taquito';
import type { FA12Contract, FA2Contract, NativeTokenTicketHelper, NonNativeTokenTicketHelper } from './contracts';
import { TaquitoTezosBridgeBlockchainService, type TaquitoTezosBridgeBlockchainServiceOptions } from './taquitoTezosBridgeBlockchainService';
import type { DepositNativeTokenParams, DepositNativeTokenResult, DepositNonNativeTokensParams, DepositNonNativeTokenResult, FinishWithdrawParams, FinishWithdrawResult } from '../tezosBridgeBlockchainService';
export interface TaquitoContractTezosBridgeBlockchainServiceOptions extends TaquitoTezosBridgeBlockchainServiceOptions {
}
export declare class TaquitoContractTezosBridgeBlockchainService extends TaquitoTezosBridgeBlockchainService<ContractProvider> {
    depositNativeToken(params: DepositNativeTokenParams): Promise<DepositNativeTokenResult & {
        operation: TransactionOperation;
    }>;
    depositNonNativeToken(params: DepositNonNativeTokensParams): Promise<DepositNonNativeTokenResult & {
        operation: BatchOperation;
    }>;
    finishWithdraw(params: FinishWithdrawParams): Promise<FinishWithdrawResult & {
        operation: Awaited<ReturnType<ContractProvider['smartRollupExecuteOutboxMessage']>>;
    }>;
    protected createBatch(params?: ParamsWithKind[]): OperationBatch;
    protected getNativeTokenTicketHelperContract(ticketHelperContractAddress: string): Promise<NativeTokenTicketHelper<ContractProvider>>;
    protected getNonNativeTokenTicketHelperContract(ticketHelperContractAddress: string): Promise<NonNativeTokenTicketHelper<ContractProvider>>;
    protected getFA12TokenContract(fa12TokenContractAddress: string): Promise<FA12Contract<ContractProvider>>;
    protected getFA2TokenContract(fa2TokenContractAddress: string): Promise<FA2Contract<ContractProvider>>;
}
