import type { SuiGrpcClient } from "@mysten/sui/grpc";
import { type AccountAddress, type ChainAddress, type ChainsConfig, type Contracts, type ExecutorTokenBridge, type Network, type TokenAddress, type TokenId } from "@wormhole-foundation/sdk-connect";
import type { SuiChains } from "@wormhole-foundation/sdk-sui";
import { SuiUnsignedTransaction } from "@wormhole-foundation/sdk-sui";
export declare class SuiExecutorTokenBridge<N extends Network, C extends SuiChains = SuiChains> implements ExecutorTokenBridge<N, C> {
    readonly network: N;
    readonly chain: C;
    readonly provider: SuiGrpcClient;
    readonly contracts: Contracts;
    readonly chainId: bigint;
    readonly tokenBridgeObjectId: string;
    readonly coreBridgeObjectId: string;
    readonly relayerStateId: string;
    readonly relayerPackageId: string;
    readonly ptbResolverStateId: string;
    readonly relayerEmitterCap: string;
    constructor(network: N, chain: C, provider: SuiGrpcClient, contracts: Contracts);
    static fromRpc<N extends Network>(provider: SuiGrpcClient, config: ChainsConfig<N, "Sui">): Promise<SuiExecutorTokenBridge<N, SuiChains>>;
    transfer(sender: AccountAddress<C>, recipient: ChainAddress, token: TokenAddress<C>, amount: bigint, executorQuote: ExecutorTokenBridge.ExecutorQuote, referrerFee?: ExecutorTokenBridge.ReferrerFee): AsyncGenerator<SuiUnsignedTransaction<N, C>>;
    redeem(_sender: AccountAddress<C>, vaa: ExecutorTokenBridge.VAA): AsyncGenerator<SuiUnsignedTransaction<N, C>>;
    estimateMsgValueAndGasLimit(_token: TokenId, _recipient?: ChainAddress): Promise<{
        gasLimit: bigint;
        msgValue: bigint;
    }>;
    private createUnsignedTx;
}
//# sourceMappingURL=executorTokenBridge.d.ts.map