import type { Address, Hex, PublicClient, WalletClient } from 'viem'; import { type PendingTaskBuilder, registerWebhook, unregisterWebhook } from './modules/avs/index.d.mts'; import { identityDomainHash, linkIdentity, linkIdentityAsSigner, linkIdentityAsSignerAndUser, linkIdentityAsUser, registerIdentityData, unlinkIdentityAsSigner, unlinkIdentityAsUser } from './modules/identity/index.d.mts'; import { createSecureEnvelope, generateSigningKeyPair, getConfidentialData, getIdentityEncrypted, getPrivacyPublicKey, getSecretsPublicKey, signPrivacyAuthorization, storeEncryptedSecrets, uploadConfidentialData, uploadIdentityEncrypted } from './modules/privacy/index.d.mts'; import type { LinkIdentityAsSignerAndUserParams, LinkIdentityAsSignerParams, LinkIdentityAsUserParams, LinkIdentityParams, RegisterIdentityDataParams, UnlinkIdentityAsSignerParams, UnlinkIdentityAsUserParams } from './types/identity.d.mts'; import type { PolicyParamsJson } from './types/policy.d.mts'; import type { CreateSecureEnvelopeParams, Ed25519KeyPair, GetConfidentialDataResult, GetIdentityEncryptedResult, PrivacyAuthorizationResult, PrivacyPublicKeyResponse, SecretsPublicKeyResponse, SecureEnvelopeResult, SignPrivacyAuthorizationParams, StoreEncryptedSecretsParams, StoreEncryptedSecretsResponse, UploadConfidentialDataParams, UploadConfidentialDataResult, UploadIdentityEncryptedParams, UploadIdentityEncryptedResponse } from './types/privacy.d.mts'; import type { RegisterWebhookParams, RegisterWebhookResult, SimulatePolicyDataParams, SimulatePolicyDataResult, SimulatePolicyDataWithClientParams, SimulatePolicyDataWithClientResult, SimulatePolicyParams, SimulatePolicyResult, SimulateTaskParams, SimulateTaskResult, SubmitEvaluationRequestParams, SubmitIntentResult, Task, TaskId, TaskResponseResult, TaskStatus, UnregisterWebhookResult } from './types/task.d.mts'; import type { KycUserData } from './types/identity.d.mts'; interface SdkOverrides { gatewayApiUrl?: string; taskManagerAddress?: Address; attestationValidatorAddress?: Address; newtonIdpUrl?: string; identityRegistry?: Address; } declare const newtonWalletClientActions: (config: { apiKey: string; policyContractAddress?: Address; }, overrides?: SdkOverrides) => (walletClient: WalletClient) => { submitEvaluationRequest: (args: SubmitEvaluationRequestParams) => Promise<{ result: { taskId: Hex; txHash: Hex; }; } & PendingTaskBuilder>; evaluateIntentDirect: (args: SubmitEvaluationRequestParams) => Promise<{ result: { evaluationResult: boolean; task: Task; taskResponse: unknown; blsSignature: unknown; }; }>; submitIntentAndSubscribe: (args: SubmitEvaluationRequestParams) => Promise<{ result: SubmitIntentResult; ws: WebSocket; }>; simulateTask: (args: SimulateTaskParams) => Promise; simulatePolicy: (args: SimulatePolicyParams) => Promise; simulatePolicyData: (args: SimulatePolicyDataParams) => Promise; simulatePolicyDataWithClient: (args: SimulatePolicyDataWithClientParams) => Promise; initialize: (args: { factory: Address; entrypoint: string; policyCid: string; schemaCid: string; policyData: Address[]; metadataCid: string; owner: Address; }) => Promise<`0x${string}`>; renounceOwnership: () => Promise<`0x${string}`>; transferOwnership: (args: { newOwner: Address; }) => Promise<`0x${string}`>; connectIdentityWithNewton: (args: { appWalletAddress: Address; appClientAddress: Address; }) => Promise; registerUserData: (args: { userData: KycUserData; appIdentityDomain: Hex; policyClient: Address; }) => Promise; linkApp: (args: { appWalletAddress: Address; appClientAddress: Address; appIdentityDomain: Hex; }) => Promise; unlinkApp: (args: { appWalletAddress: Address; appClientAddress: Address; appIdentityDomain: Hex; }) => Promise; getPrivacyPublicKey: () => Promise; getSecretsPublicKey: () => Promise; createSecureEnvelope: (args: CreateSecureEnvelopeParams, signingKey: Uint8Array) => Promise; uploadIdentityEncrypted: (args: UploadIdentityEncryptedParams) => Promise; getIdentityEncrypted: (args: { dataRefId: string; }) => Promise; generateSigningKeyPair: () => Ed25519KeyPair; storeEncryptedSecrets: (args: StoreEncryptedSecretsParams) => Promise; uploadConfidentialData: (args: UploadConfidentialDataParams) => Promise; getConfidentialData: (args: { dataRefId: string; }) => Promise; signPrivacyAuthorization: (args: SignPrivacyAuthorizationParams) => PrivacyAuthorizationResult; registerWebhook: (args: RegisterWebhookParams) => Promise; unregisterWebhook: () => Promise; registerIdentityData: (args: RegisterIdentityDataParams) => Promise; linkIdentity: (args: LinkIdentityParams) => Promise; linkIdentityAsSigner: (args: LinkIdentityAsSignerParams) => Promise; linkIdentityAsSignerAndUser: (args: LinkIdentityAsSignerAndUserParams) => Promise; linkIdentityAsUser: (args: LinkIdentityAsUserParams) => Promise; unlinkIdentityAsSigner: (args: UnlinkIdentityAsSignerParams) => Promise; unlinkIdentityAsUser: (args: UnlinkIdentityAsUserParams) => Promise; }; declare const newtonPublicClientActions: (options?: { policyContractAddress?: Address; }, overrides?: SdkOverrides) => (publicClient: PublicClient) => { waitForTaskResponded: (args: { taskId: TaskId; timeoutMs?: number; abortSignal?: AbortSignal; }) => Promise; getTaskResponseHash: (args: { taskId: TaskId; }) => Promise; getTaskStatus: (args: { taskId: TaskId; }) => Promise; clientToPolicyId: (args: { client: Address; }) => Promise<`0x${string}`>; entrypoint: () => Promise; factory: () => Promise
; getEntrypoint: () => Promise; getMetadataCid: () => Promise; getPolicyCid: () => Promise; getPolicyConfig: (args: { policyId: `0x${string}`; }) => Promise<{ policyParams: string | object; policyParamsHex: `0x${string}`; expireAfter: number; }>; getPolicyData: () => Promise; getPolicyId: (args: { client: Address; }) => Promise<`0x${string}`>; getSchemaCid: () => Promise; isPolicyVerified: () => Promise; metadataCid: () => Promise; owner: () => Promise
; policyCid: () => Promise; policyData: (args: { index: number; }) => Promise
; schemaCid: () => Promise; supportsInterface: (args: { interfaceId: `0x${string}`; }) => Promise; precomputePolicyId: (args: { policyContract: Address; policyData: Address[]; params: PolicyParamsJson; client: Address; policyUri: string; schemaUri: string; entrypoint: string; expireAfter?: number; blockTimestamp?: bigint; }) => string; }; export { newtonPublicClientActions, newtonWalletClientActions }; export { identityDomainHash, linkIdentity, linkIdentityAsSigner, linkIdentityAsSignerAndUser, linkIdentityAsUser, registerIdentityData, unlinkIdentityAsSigner, unlinkIdentityAsUser, }; export { createSecureEnvelope, generateSigningKeyPair, getConfidentialData, getIdentityEncrypted, getPrivacyPublicKey, getSecretsPublicKey, signPrivacyAuthorization, storeEncryptedSecrets, uploadConfidentialData, uploadIdentityEncrypted, }; export { registerWebhook, unregisterWebhook };