import { AccountId, Client, PrivateKey, PublicKey, Transaction, TransactionReceipt } from '@hashgraph/sdk';
import { AbstractSigner } from 'hedera-agent-kit';

/**
 * BrowserSigner (bytes-only)
 *
 * Minimal signer compatible with HederaAgentKit in bytes/Provide Bytes mode.
 * - Does NOT hold a private key
 * - Cannot execute transactions; only provides identity and network context
 * - getOperatorPrivateKey() throws to signal absence of a local key
 */
export declare class BrowserSigner extends AbstractSigner {
    private readonly account;
    private readonly network;
    private readonly client;
    private readonly exec;
    private readonly ephemeralKey;
    getAccountId(): AccountId;
    getNetwork(): 'mainnet' | 'testnet';
    constructor(accountId: string, network: 'mainnet' | 'testnet', executor?: (base64: string, network: 'mainnet' | 'testnet') => Promise<{
        transactionId: string;
    }>);
    /**
     * Returns an auto-generated ED25519 key for client wiring only.
     * Do not use for signing; wallet performs signing in renderer.
     */
    getOperatorPrivateKey(): PrivateKey;
    getClient(): Client;
    signAndExecuteTransaction(tx: Transaction): Promise<TransactionReceipt>;
    getPublicKey(): Promise<PublicKey>;
}
export default BrowserSigner;
