import { OfflineAminoSigner, Secp256k1HdWallet, StdSignDoc } from '@cosmjs/amino'; import { LitNodeClientNodeJs, LitNodeClient } from '@lit-protocol/lit-node-client'; import { JsonSaveEncryptionKeyRequest } from '@lit-protocol/types'; export type EncryptionResult = { encryptedString: Blob; encryptedSymmetricKey: string; symmetricKey?: Uint8Array; }; export type AuthSignature = { sig: string; derivedVia: 'cosmos.signArbitrary'; signedMessage: string; address: string; }; export type CosmosAuthSignature = { cosmos: AuthSignature; }; export type CosmosReturnValueTest = { key: string; comparator: string; value: string; }; export type CosmosAccessControlCondition = { conditionType: 'cosmos'; path: string; chain: LitCompatibleCosmosChain; method?: string; parameters?: string[]; returnValueTest: CosmosReturnValueTest; }; export type SaveEncryptionKeyArgs = { unifiedAccessControlConditions: CosmosAccessControlCondition[]; symmetricKey: CryptoKey; authSig: CosmosAuthSignature; chain: string; }; export type GetEncryptionKeyArgs = { unifiedAccessControlConditions: CosmosAccessControlCondition[]; toDecrypt: string; authSig: CosmosAuthSignature; chain: string; }; export type EncryptStringMethodResult = { encryptedString: Blob; symmetricKey: Uint8Array; }; export type DecryptStringMethodResult = string; export type EncryptStringMethod = (str: string) => Promise; export type DecryptStringMethod = (encryptedString: Blob, symmetricKey: Uint8Array) => Promise; export type LitNetwork = typeof LitNetworks[keyof typeof LitNetworks]; export type LitCompatibleCosmosChain = typeof LitCompatibleCosmosChains[keyof typeof LitCompatibleCosmosChains]; export type LitProtocolOptions = { cosmosAuthWallet: Secp256k1HdWallet; litNetwork?: LitNetwork; chain?: LitCompatibleCosmosChain; }; export type TxNonceFormat = typeof TxNonceFormats[keyof typeof TxNonceFormats]; export declare const LitNetworks: { readonly jalapeno: "jalapeno"; readonly serrano: "serrano"; readonly localhost: "localhost"; readonly custom: "custom"; }; export declare const LitCompatibleCosmosChains: { readonly cosmos: "cosmos"; readonly swisstronik: "swisstronik"; }; export declare const TxNonceFormats: { readonly entropy: "entropy"; readonly uuid: "uuid"; readonly timestamp: "timestamp"; }; export declare class LitProtocol { client: LitNodeClientNodeJs | LitNodeClient; litNetwork: LitNetwork; chain: LitCompatibleCosmosChain; private readonly cosmosAuthWallet; private constructor(); connect(): Promise; encrypt(secret: string, unifiedAccessControlConditions: NonNullable, returnSymmetricKey?: boolean): Promise; decrypt(encryptedString: Blob, encryptedSymmetricKey: string, unifiedAccessControlConditions: NonNullable): Promise; static encryptDirect(secret: string): Promise; static decryptDirect(encryptedString: Blob, symmetricKey: Uint8Array): Promise; static create(options: Partial): Promise; static getCosmosWalletPrefix(chain?: LitCompatibleCosmosChain): Promise; static generateAuthSignature(wallet: OfflineAminoSigner): Promise; static generateSignDoc(address: string, data: Uint8Array): Promise; static generateSignData(): Promise; static generateTxNonce(format?: TxNonceFormat, entropyLength?: number): Promise; static generateCosmosAccessControlConditionBalance(returnValueTest: CosmosReturnValueTest, chain?: LitCompatibleCosmosChain, address?: string): Promise; static generateCosmosAccessControlConditionTransactionMemo(returnValueTest: CosmosReturnValueTest, amount: string, sender: string, recipient?: string, chain?: LitCompatibleCosmosChain): Promise; static generateCosmosAccessControlConditionInverseTimelock(returnValueTest: CosmosReturnValueTest, amount: string, recipient?: string, blockHeight?: string, chain?: LitCompatibleCosmosChain): Promise; } //# sourceMappingURL=litProtocol.d.ts.map