import type { ApiPromise } from '@polkadot/api'; import type { AcurastProjectConfig, BenchmarkPoolIds } from '../types/project.js'; import { type AcurastNetwork } from './benchmark-pool-ids.js'; export type { BenchmarkPoolIds }; /** Rational metric minimum: `pool_id` + FixedU128 = numerator / denominator (see acurast-common `MinMetric`). */ export type MetricTriple = readonly [poolId: number, numerator: bigint, denominator: bigint]; /** * Parse human-readable byte sizes (`4GB`, `64gib`, `512 MB`) into an integer byte count. * Accepts optional space between number and unit; unit is case-insensitive. * Arithmetic is done in BigInt to avoid float precision loss at TiB scale. */ export declare function parseByteSize(input: string): bigint; /** * Build `(pool_id, numerator, denominator)` triples for deploy / matcher APIs. * Integer thresholds use denominator `1`. */ export declare function buildBenchmarkMetricTriples(network: AcurastNetwork, filters: NonNullable): MetricTriple[]; /** * JSON form of min metrics for the matcher `matches/check` API. * The matcher expects `(pool_id, min_value)` pairs (length-2 arrays), not the * on-chain `(pool_id, numerator, denominator)` triple used by `deploy`. */ export declare function benchmarkTriplesToMatcherJson(triples: MetricTriple[]): [number, string][]; export declare function hasBenchmarkFilters(config: AcurastProjectConfig): boolean; /** * Encodes `Option>` for `acurastMarketplace.deploy`. * When no benchmark filters are set, returns the same empty encoding as before (`[]`). */ export declare function buildMinMetricsForDeploy(api: ApiPromise, config: AcurastProjectConfig): ReturnType; //# sourceMappingURL=benchmark-filters.d.ts.map