import { Civil, UniswapService, FeatureFlagService } from "@joincivil/core";
import { AuthService } from "./AuthService";
import ApolloClient from "apollo-client";
export declare enum RENDER_CONTEXT {
    DAPP = 0,
    EMBED = 1
}
export interface ICivilContext {
    civil?: Civil;
    uniswap: UniswapService;
    features: FeatureFlagService;
    auth: AuthService;
    web3Provider: any;
    network: number;
    currentUser: any;
    renderContext: RENDER_CONTEXT;
    /** See `packages/dapp/src/helpers/config.ts` */
    config: any;
    waitForTx(txHash: string): Promise<any>;
    fireAnalyticsEvent(category: string, event: string, label: string, value: number): void;
    setAnalyticsEvent(fire: any): void;
}
export interface CivilContextOptions {
    web3: any;
    featureFlags: string[];
    config: any;
    renderContext?: RENDER_CONTEXT;
    apolloClient?: ApolloClient<any>;
    onAuthChange?(nextUser: any): void;
}
export declare function buildCivilContext(opts: CivilContextOptions): ICivilContext;
export declare const CivilContext: any;
