import { type AccountAddress, type ChainAddress, type ChainsConfig, type Contracts, type Network, type Platform, type TBTCBridge } from '@wormhole-foundation/sdk-connect';
import { SolanaUnsignedTransaction, type SolanaChains } from '@wormhole-foundation/sdk-solana';
import { Connection, PublicKey } from '@solana/web3.js';
import { Program } from '@coral-xyz/anchor';
import { WormholeGateway } from './anchor-idl/gateway.js';
export declare class SolanaTBTCBridge<N extends Network, C extends SolanaChains> implements TBTCBridge<N, C> {
    readonly network: N;
    readonly chain: C;
    readonly connection: Connection;
    readonly contracts: Contracts;
    gateway: Program<WormholeGateway>;
    tokenBridgeId: PublicKey;
    coreBridgeId: PublicKey;
    constructor(network: N, chain: C, connection: Connection, contracts: Contracts);
    static fromRpc<N extends Network>(connection: Connection, config: ChainsConfig<N, Platform>): Promise<SolanaTBTCBridge<N, SolanaChains>>;
    transfer(sender: AccountAddress<C>, recipient: ChainAddress, amount: bigint): AsyncGenerator<SolanaUnsignedTransaction<N, C>>;
    redeem(sender: AccountAddress<C>, vaa: TBTCBridge.VAA): AsyncGenerator<SolanaUnsignedTransaction<N, C>, void, unknown>;
    private createUnsignedTransaction;
}
//# sourceMappingURL=bridge.d.ts.map