import { Context, DeclarationReflection } from 'typedoc';
import { AppiumPluginLogger } from '../logger';
import { RouteMap } from '../model';
import { KnownMethods, MethodMapDeclarationReflection } from './types';
/**
 * Options for {@linkcode convertMethodMap}
 */
export interface ConvertMethodMapOpts {
    ctx: Context;
    /**
     * All builtin methods from `@appium/types`
     */
    knownBuiltinMethods: KnownMethods;
    /**
     * Logger
     */
    log: AppiumPluginLogger;
    /**
     * A `MethodMap` object whose parent is `parentRefl`
     */
    methodMapRefl: MethodMapDeclarationReflection;
    /**
     * All async methods in `parentRefl`
     */
    knownClassMethods: KnownMethods;
    /**
     * The parent of `methodMapRef`; could be a class or module
     */
    parentRefl: DeclarationReflection;
    /**
     * If `true`, do not add a route if the method it references cannot be found
     */
    strict?: boolean;
    /**
     * If `true`, handle commands as `PluginCommand`s, which affects which parameters get used
     */
    isPluginCommand?: boolean;
}
/**
 * Extracts information about `MethodMap` objects
 * @param opts Options
 * @returns Lookup of routes to {@linkcode CommandSet} objects
 */
export declare function convertMethodMap({ ctx, log, methodMapRefl, parentRefl, knownClassMethods, knownBuiltinMethods, strict, isPluginCommand, }: ConvertMethodMapOpts): RouteMap;
//# sourceMappingURL=method-map.d.ts.map