import type { WalletChain } from "../../config/types.wallet.js";
import { type WalletProviderAdapter, type WalletProviderAddressMap, type WalletProviderBalanceResult, type WalletProviderCreateWalletResult, type WalletProviderHealth, type WalletProviderPrepareTxRequest, type WalletProviderPrepareTxResult, type WalletProviderSendTxRequest, type WalletProviderSendTxResult } from "../wallet-provider-adapter.js";
export type TurnkeyAdapterCredentials = {
    apiPublicKey: string;
    apiPrivateKey: string;
    organizationId?: string;
    baseUrl?: string;
    stamp?: string;
    defaultSolanaAddress?: string;
};
export type TurnkeyAdapterOptions = {
    chains: WalletChain[];
    credentials: TurnkeyAdapterCredentials;
    service: {
        host: string;
        port: number;
    };
    requestTimeoutMs?: number;
};
export declare class TurnkeyAdapter implements WalletProviderAdapter {
    readonly id: "turnkey";
    readonly displayName = "Turnkey Wallet";
    readonly capabilities: WalletProviderAdapter["capabilities"];
    private readonly credentials;
    constructor(options: TurnkeyAdapterOptions);
    supportsChain(chain: WalletChain): boolean;
    health(): Promise<WalletProviderHealth>;
    createWallet(): Promise<WalletProviderCreateWalletResult>;
    getAddresses(): Promise<WalletProviderAddressMap>;
    getBalance(chain: WalletChain): Promise<WalletProviderBalanceResult>;
    prepareTx(_request: WalletProviderPrepareTxRequest): Promise<WalletProviderPrepareTxResult>;
    sendTx(_request: WalletProviderSendTxRequest): Promise<WalletProviderSendTxResult>;
}
