import { type Chain, type PublicClient, type WalletClient } from 'viem'; import { type PrivateKeyAccount } from 'viem/accounts'; import type { SessionPackage, SessionPackageScDelegation, SessionPackageSessionKey, SignedDelegation, SmartAgentDelegationSessionPackage } from '../shared/sessionPackage'; export declare const DEFAULT_SELECTOR: `0x${string}`; export declare const DEFAULT_ENTRY_POINT: "0x0000000071727De22E5E9d8BAf0edAc6f37da032"; export type CreateSessionWalletAndAccountParams = { chainId: number; agentAccount: `0x${string}`; provider: any; ownerAddress: `0x${string}`; bundlerUrl?: string; rpcUrl?: string; entryPoint?: `0x${string}`; sessionPrivateKey?: `0x${string}`; deploySalt?: `0x${string}`; ensureAgentAccountDeployed?: boolean; ensureSessionAccountDeployed?: boolean; }; export type SessionWalletAndAccountArtifacts = { chainId: number; chain: Chain; rpcUrl: string; bundlerUrl: string; entryPoint: `0x${string}`; publicClient: PublicClient; walletClient: WalletClient; smartAccount: any; agentAccount: `0x${string}`; ownerAddress: `0x${string}`; sessionPrivateKey: `0x${string}`; sessionKeyAccount: PrivateKeyAccount; sessionKey: SessionPackageSessionKey; sessionAccountClient: any; sessionAA: `0x${string}`; }; export declare function createSessionWalletAndAccount(params: CreateSessionWalletAndAccountParams): Promise; export declare const SMART_AGENT_DEFAULT_SELECTOR: `0x${string}`; export type BuildAgentDelegationParams = { session: SessionWalletAndAccountArtifacts; selector?: `0x${string}`; validationRegistry?: `0x${string}`; associationsProxy?: `0x${string}`; includeValidationScope?: boolean; includeAssociationScope?: boolean; includeAgentAccountSignatureScope?: boolean; performDelegationTest?: boolean; }; export type AgentDelegationArtifacts = { selector: `0x${string}`; targets: `0x${string}`[]; selectors: `0x${string}`[]; signedDelegation: SignedDelegation; scDelegation?: SessionPackageScDelegation; delegationRedeemData?: `0x${string}`; }; export declare function buildAgentDelegation(params: BuildAgentDelegationParams): Promise; export declare function approveErc8004SessionOperator(params: { agentId: number; identityRegistry?: `0x${string}`; sessionAA: `0x${string}`; session: SessionWalletAndAccountArtifacts; }): Promise; export type BuildDelegationSessionPackageParams = { kind?: 'delegation-8004' | 'delegation-smart-agent'; chainId: number; aa: `0x${string}`; agentId?: number; agentAccount?: `0x${string}`; uaid?: string; did?: string; ensName?: string; sessionAA?: `0x${string}`; selector: `0x${string}`; scDelegation?: SessionPackageScDelegation; sessionKey: SessionPackageSessionKey; entryPoint: `0x${string}`; bundlerUrl: string; signedDelegation: SignedDelegation; delegationRedeemData?: `0x${string}`; }; export declare function buildDelegationSessionPackage(params: BuildDelegationSessionPackageParams): SessionPackage | SmartAgentDelegationSessionPackage; export type GenerateSessionPackageParams = { agentId: number; chainId: number; agentAccount: `0x${string}`; provider: any; ownerAddress: `0x${string}`; reputationRegistry?: `0x${string}`; identityRegistry?: `0x${string}`; validationRegistry?: `0x${string}`; associationsProxy?: `0x${string}`; bundlerUrl?: string; rpcUrl?: string; selector?: `0x${string}`; performDelegationTest?: boolean; }; export declare function generateSessionPackage(params: GenerateSessionPackageParams): Promise; export type GenerateSmartAgentDelegationSessionPackageParams = { chainId: number; agentAccount: `0x${string}`; provider: any; ownerAddress: `0x${string}`; validationRegistry?: `0x${string}`; associationsProxy?: `0x${string}`; bundlerUrl?: string; rpcUrl?: string; selector?: `0x${string}`; performDelegationTest?: boolean; did?: string; uaid?: string; ensName?: string; }; export declare function generateSmartAgentDelegationSessionPackage(params: GenerateSmartAgentDelegationSessionPackageParams): Promise; //# sourceMappingURL=delegationSessionBuilder.d.ts.map