import { ISigner, Bytes, IWasmBindings, ISessionManager } from '@tinycloud/sdk-core';
export { AutoApproveSpaceCreationHandler, AutoRejectStrategy, AutoSignStrategy, BatchOptions, BatchResponse, CallbackStrategy, CapabilityEntry, CapabilityKeyRegistry, CapabilityKeyRegistryErrorCode, CapabilityKeyRegistryErrorCodes, ClientSession, ColumnInfo, CreateDelegationParams, DataVaultConfig, DataVaultService, DatabaseHandle, Delegation, DelegationChain, DelegationChainV2, DelegationDirection, DelegationError, DelegationErrorCode, DelegationErrorCodes, DelegationFilters, DelegationManager, DelegationManagerConfig, DelegationRecord, DelegationResult, DuckDbAction, DuckDbActionType, DuckDbBatchOptions, DuckDbBatchResponse, DuckDbDatabaseHandle, DuckDbExecuteOptions, DuckDbExecuteResponse, DuckDbOptions, DuckDbQueryOptions, DuckDbQueryResponse, DuckDbService, DuckDbServiceConfig, DuckDbStatement, DuckDbValue, EncodedShareData, ExecuteOptions, ExecuteResponse, Extension, FetchFunction, GenerateShareParams, HookEvent, HookServiceName, HookStreamEvent, HookSubscription, HookWebhookListOptions, HookWebhookRecord, HookWebhookRegistration, HookWebhookScope, HookWebhookUnregisterOptions, HooksService, HooksServiceConfig, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, IHooksService, IKVService, INotificationHandler, IPrefixedKVService, ISQLService, ISessionManager, ISessionStorage, ISharingService, ISigner, ISpace, ISpaceCreationHandler, ISpaceScopedDelegations, ISpaceScopedSharing, ISpaceService, IUserAuthorization, IWasmBindings, IngestOptions, InvokeFunction, JWK, KVResponse, KVService, KVServiceConfig, KeyInfo, KeyProvider, KeyType, Manifest, ManifestDefaults, ManifestDelegation, ManifestValidationError, PermissionEntry, PermissionNotInManifestError, PersistedSessionData, PrefixedKVService, ProtocolMismatchError, QueryOptions, QueryResponse, ReceiveOptions, ResolvedCapabilities, ResolvedDelegate, ResourceCapability, SQLAction, SQLActionType, SQLService, SQLServiceConfig, SchemaInfo, ServiceContext, ServiceContextConfig, ServiceSession, SessionExpiredError, ShareAccess, ShareLink, ShareLinkData, ShareSchema, SharingService, SharingServiceConfig, SignCallback, SignInOptions, SignRequest, SignResponse, SilentNotificationHandler, Space, SpaceConfig, SpaceCreationContext, SpaceErrorCode, SpaceErrorCodes, SpaceInfo, SpaceOwnership, SpaceService, SpaceServiceConfig, SqlStatement, SqlValue, StoredDelegationChain, SubscribeOptions, TableInfo, TinyCloud, TinyCloudConfig, TinyCloudSession, UnsupportedFeatureError, VaultCrypto, VaultEntry, VaultError, VaultGetOptions, VaultGrantOptions, VaultHeaders, VaultListOptions, VaultPublicSpaceKVActions, VaultPutOptions, VersionCheckError, ViewInfo, WasmVaultFunctions, buildSpaceUri, checkNodeInfo, createCapabilityKeyRegistry, createSharingService, createSpaceService, createVaultCrypto, defaultSpaceCreationHandler, expandActionShortNames, isCapabilitySubset, loadManifest, makePublicSpaceId, parseExpiry, parseSpaceUri, resolveManifest, validateManifest } from '@tinycloud/sdk-core';
export { DelegateToOptions, DelegateToResult, DelegatedAccess, FileSessionStorage, MemorySessionStorage, NodeEventEmitterStrategy, NodeUserAuthorization, NodeUserAuthorizationConfig, PortableDelegation, SignStrategy, TinyCloudNode, TinyCloudNodeConfig, WasmKeyProvider, WasmKeyProviderConfig, createWasmKeyProvider, defaultSignStrategy, deserializeDelegation, serializeDelegation } from './core.js';
import { invoke, invokeAny, prepareSession, completeSessionSetup, ensureEip55, makeSpaceId, createDelegation, parseRecapFromSiwe, generateHostSIWEMessage, siweToDelegationHeaders, protocolVersion, vault_encrypt, vault_decrypt, vault_derive_key, vault_x25519_from_seed, vault_x25519_dh, vault_random_bytes, vault_sha256 } from '@tinycloud/node-sdk-wasm';
import 'events';
import '@tinycloud/sdk-services';

/**
 * Private key signer for Node.js environments.
 *
 * Uses the node-sdk-wasm package for Ethereum signing operations.
 * The private key should be a hex string (with or without 0x prefix).
 *
 * @example
 * ```typescript
 * const signer = new PrivateKeySigner(process.env.PRIVATE_KEY);
 * const address = await signer.getAddress();
 * const signature = await signer.signMessage("Hello, world!");
 * ```
 */
declare class PrivateKeySigner implements ISigner {
    private readonly privateKeyHex;
    private readonly chainId;
    private cachedAddress?;
    /**
     * Create a new PrivateKeySigner.
     *
     * @param privateKey - Hex-encoded private key (with or without 0x prefix)
     * @param chainId - Chain ID for signing (default: 1 for mainnet)
     */
    constructor(privateKey: string, chainId?: number);
    /**
     * Get the Ethereum address for this signer.
     */
    getAddress(): Promise<string>;
    /**
     * Derive Ethereum address from private key.
     * Uses secp256k1 public key derivation via ethers.js.
     */
    private deriveAddress;
    /**
     * Get the chain ID for this signer.
     */
    getChainId(): Promise<number>;
    /**
     * Sign a message.
     *
     * @param message - The message to sign (string or bytes)
     * @returns The signature as a hex string
     */
    signMessage(message: Bytes | string): Promise<string>;
}

/**
 * NodeWasmBindings - Default IWasmBindings implementation for Node.js.
 *
 * Wraps @tinycloud/node-sdk-wasm functions into the IWasmBindings interface.
 * This is used as the default when no custom wasmBindings is provided in config.
 *
 * @packageDocumentation
 */

/**
 * Node.js WASM bindings using @tinycloud/node-sdk-wasm.
 *
 * This is the default IWasmBindings implementation for Node.js environments.
 * Browser environments provide their own BrowserWasmBindings via config.wasmBindings.
 */
declare class NodeWasmBindings implements IWasmBindings {
    private static panicHookInitialized;
    constructor();
    invoke: typeof invoke;
    invokeAny: typeof invokeAny;
    prepareSession: typeof prepareSession;
    completeSessionSetup: typeof completeSessionSetup;
    ensureEip55: typeof ensureEip55;
    makeSpaceId: typeof makeSpaceId;
    createDelegation: typeof createDelegation;
    parseRecapFromSiwe: typeof parseRecapFromSiwe;
    generateHostSIWEMessage: typeof generateHostSIWEMessage;
    siweToDelegationHeaders: typeof siweToDelegationHeaders;
    protocolVersion: typeof protocolVersion;
    vault_encrypt: typeof vault_encrypt;
    vault_decrypt: typeof vault_decrypt;
    vault_derive_key: typeof vault_derive_key;
    vault_x25519_from_seed: typeof vault_x25519_from_seed;
    vault_x25519_dh: typeof vault_x25519_dh;
    vault_random_bytes: typeof vault_random_bytes;
    vault_sha256: typeof vault_sha256;
    createSessionManager(): ISessionManager;
}

export { NodeWasmBindings, PrivateKeySigner };
