import { Result } from '@terra-js/common';
import AuthKitModule from './auth/AuthKitModule';
import ErpKitModule from './erp/ErpKitModule';
import UserKitModule from './user/UserKitModule';
import ApolloKitModule from './apollo/ApolloKitModule';
import CommonKitModule from './common/CommonKitModule';
import LoyaltyKitModule from './loyalty/LoyaltyKitModule';
import OrderKitModule from './order/OrderKitModule';
import DeviceKitModule from './device/DeviceKitModule';
import { ShareContent } from './terra/types';
import DiscoveryKitModule from './discovery/DiscoveryKitModule';
import { FinishResult } from './BaseModule';
import CartKitModule from './cart/CartKitModule';
import TrackerKitModule from './tracker/TrackerKitModule';
export default class TerraKit {
    private authKit;
    private erpKit;
    private userKit;
    private apolloKit;
    private commonKit;
    private loyaltyKit;
    private orderKit;
    private discoveryKit;
    private deviceKit;
    private cartKit;
    private trackerKit;
    private wrappedModule;
    constructor();
    isAvailable(): boolean;
    finish(): void;
    finishWithResult(result: FinishResult): void;
    getInitParams: () => Promise<Result<{
        [key: string]: string;
    }>>;
    /**
     * share content
     * @param content Content to share
     * @returns
     */
    share: (content: ShareContent) => Promise<Result<boolean>>;
    auth(): AuthKitModule;
    erp(): ErpKitModule;
    user(): UserKitModule;
    apollo(): ApolloKitModule;
    common(): CommonKitModule;
    loyalty(): LoyaltyKitModule;
    order(): OrderKitModule;
    discovery(): DiscoveryKitModule;
    device(): DeviceKitModule;
    cart(): CartKitModule;
    tracker(): TrackerKitModule;
}
