import '@polkadot/api-augment'; import { ApiPromise } from '@polkadot/api'; import type { Event } from '@polkadot/types/interfaces/system'; import { type AcurastSigner } from './signer.js'; import { type TransactionQueue } from './tx-queue.js'; import '@polkadot/api-augment'; import type { Hash } from '@polkadot/types/interfaces/runtime'; import { type Job, type JobAssignmentInfo, type JobEnvironmentEncrypted, type JobEnvironmentsEncrypted, type JobId } from '../types/env.js'; export declare const ACURAST_DECIMALS: number; export type UnsubEvent = () => void; export interface EventSub { filter: (event: Event) => boolean; map: (event: Event) => T; sub: (data: T) => void; } /** * Thin wrapper over a `@polkadot/api` `ApiPromise` configured with the * Acurast chain's custom type registry. Holds connection state so repeated * queries on the same service instance share one websocket. * * The RPC endpoint must be supplied explicitly — this class never reads * `process.env`. */ export declare class AcurastService { api?: ApiPromise; /** * Submission authority for this service's extrinsics. Leave unset to use the * shared per-account queue (so submissions never collide with other SDK * paths using the same signer); set it to share one queue with a deploy. */ queue?: TransactionQueue; private readonly wsProvider; private connectPromise?; private eventSubs; private unsubEvents?; constructor(rpcEndpoint: string); connect(): Promise; disconnect(): Promise; getAllJobs(): Promise; subscribeToEvent(eventSub: EventSub): Promise; subscribeToJobAssignmentEvents(sub: (assignment: JobAssignmentInfo) => void): Promise; assignedProcessors(jobIds: JobId[]): Promise>; jobIdToString(jobId: JobId): string; jobAssignments(keys: [string, JobId][]): Promise; private jobEnvironmentToCodec; setEnvironment(keyring: AcurastSigner, jobId: number, jobEnvironment: JobEnvironmentEncrypted): Promise; setEnvironments(keyring: AcurastSigner, jobId: number, jobEnvironments: JobEnvironmentsEncrypted): Promise; deregisterJob(keyring: AcurastSigner, localJobId: number): Promise; private codecToMultiOrigin; private signAndSend; private codectToJobId; private codecToJobRegistration; private codecToAssignmentStrategy; private codecToJobAssignment; } //# sourceMappingURL=acurast-service.d.ts.map