import type { Connection } from '@solana/web3.js';
import type { AccountAddress, ChainAddress, ChainsConfig, CircleTransferMessage, Contracts, Network, Platform } from '@wormhole-foundation/sdk-connect';
import { CircleBridge } from '@wormhole-foundation/sdk-connect';
import type { Program } from '@coral-xyz/anchor';
import type { SolanaChains } from '@wormhole-foundation/sdk-solana';
import { SolanaUnsignedTransaction } from '@wormhole-foundation/sdk-solana';
import type { MessageTransmitter, TokenMessenger } from './index.js';
export declare class SolanaCircleBridge<N extends Network, C extends SolanaChains> implements CircleBridge<N, C> {
    readonly network: N;
    readonly chain: C;
    readonly connection: Connection;
    readonly contracts: Contracts;
    readonly tokenMessenger: Program<TokenMessenger>;
    readonly messageTransmitter: Program<MessageTransmitter>;
    constructor(network: N, chain: C, connection: Connection, contracts: Contracts);
    static fromRpc<N extends Network>(provider: Connection, config: ChainsConfig<N, Platform>): Promise<SolanaCircleBridge<N, SolanaChains>>;
    redeem(sender: AccountAddress<C>, message: CircleBridge.Message, attestation: string): AsyncGenerator<SolanaUnsignedTransaction<N, C>>;
    transfer(sender: AccountAddress<C>, recipient: ChainAddress, amount: bigint): AsyncGenerator<SolanaUnsignedTransaction<N, C>>;
    isTransferCompleted(message: CircleBridge.Message): Promise<boolean>;
    parseTransactionDetails(txid: string): Promise<CircleTransferMessage>;
    private createUnsignedTx;
}
//# sourceMappingURL=circleBridge.d.ts.map