import type { ChainMetadata } from '@hyperlane-xyz/sdk/metadata/chainMetadataTypes'; import { type NormalizedScale, type ScaleInput } from '@hyperlane-xyz/sdk/utils/decimals'; /** * Returns the SDK's canonical {numerator, denominator} bigint form, or null * when scale is absent. The null distinguishes "scale not set" from "scale set * to identity {1,1}", which the SDK's normalizeScale collapses together. */ export declare function normalizeScale(scale: ScaleInput | null | undefined): NormalizedScale | null; export declare function toYamlString(data: any, prefix?: string): string; export declare function stripLeadingSlash(path: string): string; export declare function concurrentMap(concurrency: number, xs: A[], mapFn: (val: A, idx: number) => Promise): Promise; export declare function isObject(item: any): any; export declare function objMerge(a: Record, b: Record, max_depth?: number): any; export declare function isAbacusWorksChain(metadata: ChainMetadata): boolean; export declare function parseGitHubPath(uri: string): { repoOwner: string; repoName: string; repoBranch: string | undefined; };