import { type LitNetworkModule } from '@lit-protocol/networks'; import { NagaNetworkModule } from './type'; import type { NagaLitClient } from './types/NagaLitClient.type'; type SupportedNetworkModule = NagaNetworkModule | DatilNetworkModule; /** * Creates a Lit client based on the provided network configuration. * The Lit Client is the core interface for interacting with the Lit Protocol network. * 1. First, select your network configuration, then create your client instance. * 2. Then, you can use the client instance to interact with the Lit Protocol network. * * @see https://v8-interactive-docs.getlit.dev/setup-lit-client For more information about the Lit Client * * @param config.network - The network module to use (Naga v8 or Datil v7) * @returns A Promise that resolves to the appropriate client instance * * @example * ```typescript * import { nagaDev } from "@lit-protocol/networks" * * // Create Naga client (v8) * const litClient = await createLitClient({ * network: nagaDev, * }); * ``` */ export declare const createLitClient: ({ network, }: { network: SupportedNetworkModule; }) => Promise; /** * Creates a Naga Lit client instance for v8 networks. * This function sets up the state manager, orchestrates handshakes with network nodes, * and returns a fully configured client with all available methods. * * @param networkModule - The Naga network module configuration * @returns A Promise that resolves to a NagaLitClient instance with the following methods: * * **Encryption:** * - `encrypt(params)` - Encrypt data with access control conditions * - `decrypt(params)` - Decrypt data with access control conditions * * **PKP Signing:** * - `chain.raw.pkpSign(params)` - Raw PKP signing with full control * - `chain.ethereum.pkpSign(params)` - Ethereum-specific PKP signing * - `chain.bitcoin.pkpSign(params)` - Bitcoin-specific PKP signing * * **Lit Actions:** * - `executeJs(params)` - Execute JavaScript/Lit Actions on the network * * **PKP Management:** * - `mintWithEoa(params)` - Mint PKP using EOA * - `mintWithAuth(params)` - Mint PKP using authentication * - `mintWithCustomAuth(params)` - Mint PKP with custom authentication * - `getPKPPermissionsManager(params)` - Manage PKP permissions * - `viewPKPPermissions(pkpId)` - View PKP permissions * - `viewPKPsByAuthData(params)` - View PKPs by auth data * - `viewPKPsByAddress(params)` - View PKPs by owner address * * **Utilities:** * - `getChainConfig()` - Get chain configuration and RPC URL * - `getDefault` - Default service URLs (authServiceUrl, loginUrl) * - `authService.mintWithAuth(params)` - Auth service PKP minting * - `authService.registerPayer(params)` - Create payer wallet via Auth Service * - `authService.delegateUsers(params)` - Delegate payments via Auth Service * * **Integrations:** * - `getPkpViemAccount(params)` - Get Viem account for PKP interactions * * @example * ```typescript * import { nagaDev } from "@lit-protocol/networks" * * const litClient = await createLitClient({ network: nagaDev }); * ``` */ export declare const _createNagaLitClient: (networkModule: NagaNetworkModule) => Promise; /** * This is the default network type used for all Datil environments (v7) */ type DatilNetworkModule = LitNetworkModule; export declare const _createDatilLitClient: () => Promise; export type LitClientType = Awaited>; export {};