/// <reference types="react" />
import { BaseLogger } from '@credo-ts/core';
import { DependencyContainer } from 'tsyringe';
import { Container, TokenMapping } from './container-api';
export declare class MainContainer implements Container {
    static readonly TOKENS: {
        readonly UTIL_LOGGER: "utility.logger";
        readonly UTIL_OCA_RESOLVER: "utility.oca-resolver";
        readonly UTIL_LEDGERS: "utility.ledgers";
        readonly UTIL_PROOF_TEMPLATE: "utility.proof-template";
        readonly OBJECT_ONBOARDING_CONFIG: "object.onboarding-config";
        readonly LOAD_STATE: "state.load";
        readonly COMP_BUTTON: "comp.button";
        readonly FN_ONBOARDING_DONE: "fn.onboardingDone";
        readonly STACK_ONBOARDING: "stack.onboarding";
        readonly SERVICE_TERMS: "screen.terms";
        readonly SCREEN_PREFACE: "screen.preface";
        readonly SCREEN_TERMS: "screen.terms";
        readonly SCREEN_ONBOARDING: "screen.onboarding";
        readonly SCREEN_DEVELOPER: "screen.developer";
        readonly SCREEN_ONBOARDING_ITEM: "screen.onboarding.item";
        readonly GROUP_BY_REFERENT: "proof.groupByReferant";
        readonly CRED_HELP_ACTION_OVERRIDES: "proof.credHelpActionOverride";
    };
    private _container;
    private log?;
    constructor(container: DependencyContainer, log?: BaseLogger);
    get container(): DependencyContainer;
    init(): Container;
    resolve<K extends keyof TokenMapping>(token: K): TokenMapping[K];
}
export declare const SystemContext: import("react").Context<Container | undefined>;
export declare const SystemProvider: import("react").Provider<Container | undefined>;
export declare const useSystem: () => Container;
//# sourceMappingURL=container-impl.d.ts.map