import { RegistryTypes } from '@polkadot/types-codec/types'; import type { DeploymentRuntime, JobRegistration } from './project.js'; export interface EnvVar { key: string; value: string; } export type AcurastEnvironment = { publicKey: string; variables: string[][]; }; export type AcurastEnvironments = { processor: string; environment: AcurastEnvironment; }[]; export interface EncryptedValue { ciphertext: string; iv: string; authTag: string; } export interface EnvVarEncrypted { key: string; encryptedValue: EncryptedValue; } export interface JobEnvironmentEncrypted { publicKey: string; variables: EnvVarEncrypted[]; } export type JobEnvironmentsEncrypted = { processor: string; jobEnvironment: JobEnvironmentEncrypted; }[]; export type MultiOrigin = { acurast?: string; tezos?: string; }; export type PubKey = { SECP256r1?: string; SECP256k1?: string; ED25519?: string; SECP256r1Encryption?: string; SECP256k1Encryption?: string; }; export type ExecutionSpecifier = { All?: null; Index?: number; }; export type JobAssignmentSla = { total: BigNumber; met: BigNumber; }; export type JobAssignment = { slot: number; startDelay: number; feePerExecution: BigNumber; acknowledged: boolean; sla: JobAssignmentSla; pubKeys: PubKey[]; execution: ExecutionSpecifier; }; export type JobSchedule = { duration: number; startTime: Date; endTime: Date; interval: BigNumber; maxStartDelay: number; }; export type JobModule = 'DataEncryption' | 'LLM' | 'Shell'; export type JobRegistrationExtra = { requirements: JobRequirements; expectedFulfillmentFee?: BigNumber; }; export type JobRequirements = { assignmentStrategy: AssignmentStrategy; slots: number; reward: BigNumber; minReputation?: BigNumber; processorVersion?: ProcessorVersionRequirements; runtime: DeploymentRuntime; }; export type ProcessorVersionRequirements = { min: Version[]; }; export type Version = { platform: number; buildNumber: number; }; export type AssignmentStrategy = { variant: AssignmentStrategyVariant; instantMatch?: PlannedExecution[]; }; export declare enum AssignmentStrategyVariant { Single = "Single", Competing = "Competing" } export type PlannedExecution = { source: string; startDelay: BigNumber; }; export type Job = { id: JobId; registration: JobRegistration; }; export type JobId = [MultiOrigin, number]; export type JobAssignmentInfo = { id: JobId; processor: string; assignment: JobAssignment; }; export type EncKeyCurve = 'p256' | 'secp256k1'; export type ProcessorEncryptionKey = { publicKey: string; curve: EncKeyCurve; }; export declare const CUSTOM_TYPES: RegistryTypes; //# sourceMappingURL=env.d.ts.map