import { Context, NumLocation, UserVariable } from './context'; import { DoHResolver } from './dnsclient'; import { NumProtocolErrorCode } from './exceptions'; import { ModuleConfig } from './moduleconfig'; import { NumUri, PositiveInteger } from './numuri'; import { ResourceLoader } from './resourceloader'; export declare const createClient: (resolvers?: DoHResolver[] | undefined) => NumClient; export declare const lookup: (uri: string) => Promise; export interface NumClient { createContext(numAddress: NumUri): Context; retrieveNumRecord(ctx: Context, handler?: CallbackHandler): Promise; retrieveModlRecord(ctx: Context, handler?: CallbackHandler): Promise; setResourceLoader(loader: ResourceLoader): void; interpret(modl: string, moduleNumber: PositiveInteger, userVariables: Map, targetExpandedVersion: string): Promise; setenv(env: string): void; setDnsEnv(env: string): void; setModuleEnv(env: string): void; setTimeoutMillis(t: number): void; disableSchemaValidation(): void; } export interface CallbackHandler { setLocation(l: NumLocation): void; setResult(r: string): void; setErrorCode(e: NumProtocolErrorCode): void; } export declare const createDefaultCallbackHandler: () => CallbackHandler; export declare class DefaultCallbackHandler implements CallbackHandler { private location; private result; private errorCode; setLocation(l: NumLocation): void; setResult(r: string): void; getLocation(): NumLocation | null; getResult(): string | null; setErrorCode(e: NumProtocolErrorCode): void; getErrorCode(): NumProtocolErrorCode | null; } export declare const mapJsonToTransformationFileName: (module: number, mapJson: Record, compactVersion: string, targetExpandedVersion: string) => string; export declare const findFirstWithSameLanguage: (listJson: string[], lang: string, moduleConfig: ModuleConfig) => string;