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 PrivyAdapterCredentials = {
    appId: string;
    appSecret: string;
    baseUrl?: string;
    defaultSolanaAddress?: string;
};
export type PrivyAdapterOptions = {
    chains: WalletChain[];
    credentials: PrivyAdapterCredentials;
    service: {
        host: string;
        port: number;
    };
    requestTimeoutMs?: number;
};
export declare class PrivyAdapter implements WalletProviderAdapter {
    readonly id: "privy";
    readonly displayName = "Privy Wallet";
    readonly capabilities: WalletProviderAdapter["capabilities"];
    private readonly credentials;
    constructor(options: PrivyAdapterOptions);
    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>;
}
