/// import { ExecutionContext, Fetcher, Request } from '@cloudflare/workers-types/experimental'; import { Address, Hash, Hex } from 'viem'; import * as iamTypes from './env/iam/types.js'; export { ApiError } from './rpc.js'; export * from './env/iam/types.js'; export * from './env/tpm/types.js'; export interface Runner { getConfig(): Promise>; getAttestation(params: GetAttestationParams): Promise; acquireIdentity(params: AcquireIdentityParams): Promise; getOmniKey(params: GetOmniKeyParams): Promise; } export type AcqRelIdentityParams = { network: NetworkNameOrNetwork; identity: IdentityIdOrIdentity; recipient?: Address; permitter?: Address; }; export type GetAttestationParams = AcqRelIdentityParams & { purpose?: 'acquire' | 'release'; }; export type Attestation = { document: Hex; }; export type AcquireIdentityParams = AcqRelIdentityParams & { permitTtl?: number; duration?: number; authorization?: Uint8Array | Hex; /** @experimental */ sssss?: iamTypes.SsssParams; }; export type GetOmniKeyParams = { network: NetworkNameOrNetwork; identity: IdentityIdOrIdentity; /** @experimental */ sssss?: iamTypes.SsssParams; }; export type NetworkNameOrNetwork = 'local' | `sapphire-${'testnet' | 'mainnet'}` | iamTypes.Network; export type IdentityIdOrIdentity = Hash | iamTypes.Identity; export interface Callbacks { tasks(rnr: Runner): Promise; } export type WorkerEnv = { config: Record; iam: Fetcher; tpm?: Fetcher; }; export default function (callbacks: Callbacks): { fetch: (req: Request>, env: WorkerEnv, ctx: ExecutionContext) => Promise; scheduled(_event: ScheduledEvent, env: WorkerEnv, ctx: ExecutionContext): void; }; //# sourceMappingURL=index.d.ts.map