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 { type InitializePolicyArgs } from './modules/policy/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 { PolicySpec } 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, TaskResponse, 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: { allowed: boolean; task: Task; taskResponse: TaskResponse; 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 a NewtonPolicy contract on-chain. Caller must supply either * `policyCodeHash` (pre-computed `keccak256` of the Rego policy bytes) or * `policyBytes` (raw bytes; SDK computes the hash). See {@link InitializePolicyArgs}. */ initialize: (args: InitializePolicyArgs) => Promise<`0x${string}`>; setSecretsSchemaCid: (args: { secretsSchemaCid: string; }) => 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; }>; getWasmCid: () => Promise; getSecretsSchemaCid: () => Promise; getPolicyId: (args: { client: Address; }) => Promise<`0x${string}`>; getSchemaCid: () => Promise; isPolicyVerified: () => Promise; metadataCid: () => Promise; owner: () => Promise
; policyCid: () => Promise; schemaCid: () => Promise; supportsInterface: (args: { interfaceId: `0x${string}`; }) => Promise; getPolicies: (args: { policyClientAddress: Address; }) => Promise; getPolicySetSnapshot: (args: { policyClientAddress: Address; }) => Promise<{ policyId: Hex; revision: bigint; policies: PolicySpec[]; }>; policyRevision: (args: { policyClientAddress: Address; }) => Promise; isPolicy: (args: { policyFactoryAddress: Address; policy: Address; }) => Promise; precomputePolicyId: (args: { chainId: number | bigint; client: Address; revision: number | bigint; policies: PolicySpec[]; }) => 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 }; export { SDKError, MagicRPCError } from './sdk-exceptions.d.mts'; export { SDKErrorCode, RPCErrorCode } from './types/core/exception-types.d.mts';