///
import { Commitment, Connection, ConnectionConfig, Transaction, VersionedTransaction, ConfirmOptions, Signer, SendOptions } from '@solana/web3.js';
import { GenericNetwork, IUITransaction, WalletUiUtils } from '@dynamic-labs/types';
import { Chain, ISendBalanceWalletConnector, WalletConnector } from '@dynamic-labs/wallet-connector-core';
import { WalletBookSchema } from '@dynamic-labs/wallet-book';
import { JwtVerifiedCredential } from '@dynamic-labs/sdk-api-core';
import { IChainRpcProviders } from '@dynamic-labs/rpc-provider-solana';
import { TurnkeyWalletConnectorBase } from '../TurnkeyWalletConnectorBase';
import { TurnkeyWalletConnectorNameAndKey } from '../../types';
import { TurnkeySolanaSigner } from './TurnkeySolanaSigner';
type SendTransactionOptions = ConfirmOptions & {
signers?: Signer[];
};
export type TurnkeySolanaConnectorProps = {
walletUiUtils: WalletUiUtils;
walletBook: WalletBookSchema;
solNetworks: GenericNetwork[];
appName?: string;
chainRpcProviders: IChainRpcProviders;
};
export declare class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase implements ISendBalanceWalletConnector {
connectedChain: Chain;
supportedChains: Chain[];
solNetworks: GenericNetwork[];
verifiedCredentialChain: string;
private walletUiUtils;
private _turnkeyAccount;
private _connectionClient;
private __turnkeyClient;
constructor(nameAndKey: TurnkeyWalletConnectorNameAndKey, props: TurnkeySolanaConnectorProps);
getRpcUrl(): string;
getConnection(commitmentOrConfig?: Commitment | ConnectionConfig): Connection;
getWalletClient(): Connection;
getNetwork(): Promise;
getPublicClient(): Promise;
supportsNetworkSwitching(): boolean;
setVerifiedCredentials(verifiedCredentials: JwtVerifiedCredential[]): void;
getAccount(): string | undefined;
endSession(): Promise;
private refreshTurnkeyAccount;
private getTurnkeyClient;
private createTurnkeyAccount;
private getTurnkeyAccount;
getSigner(): Promise;
getBalance(): Promise;
signMessage(messageToSign: string): Promise;
signTransaction({ transaction, }: {
transaction: Transaction | VersionedTransaction;
}): Promise;
internalSignAndSendTransaction(transaction: Transaction | VersionedTransaction, options?: SendOptions): Promise;
signAndSendTransaction(transaction: Transaction | VersionedTransaction, options?: SendOptions): Promise;
sendTransaction(transaction: Transaction | VersionedTransaction, connection: Connection, options?: SendTransactionOptions): Promise;
private lamportsToSol;
createUiTransaction(from: string): Promise;
}
export {};