/// <reference types="lodash" />
import { OnModuleInit } from '@nestjs/common';
import { DiscoveryService } from '@nestjs/core';
import { AppTokenTemplatePositionFetcher } from '../position/template/app-token.template.position-fetcher';
import { ContractPositionTemplatePositionFetcher } from '../position/template/contract-position.template.position-fetcher';
import { CustomContractPositionTemplatePositionFetcher } from '../position/template/custom-contract-position.template.position-fetcher';
import { AppDefinition } from './app.definition';
import { AppAction, AppGroup } from './app.interface';
declare type AnyFetcher = AppTokenTemplatePositionFetcher<any> | ContractPositionTemplatePositionFetcher<any> | CustomContractPositionTemplatePositionFetcher<any>;
export declare class AppRegistry implements OnModuleInit {
    private readonly discoveryService;
    private registry;
    constructor(discoveryService: DiscoveryService);
    get(appId: string): AppDefinition | undefined;
    onModuleInit(): Promise<void>;
    resolveAppGroupsFromPositionFetchers(fetchers: AnyFetcher[]): import("lodash").Dictionary<AppGroup>;
    resolveNetworksFromPositionFetchers(fetchers: AnyFetcher[]): {
        network: import("../types").Network;
        actions: AppAction[];
    }[];
    resolvePositionFetchers(): Promise<AnyFetcher[]>;
}
export {};
