import { ApolloClient } from "apollo-client"; import { CooperAPI } from "./api"; import { Config, ConfigInput, ApolloConfigInput } from "./types"; export interface ConnectResult { /** * Cooper API. */ api: CooperAPI; /** * Apollo client used by Cooper API. */ apolloClient: ApolloClient; } export declare class CooperManager { config: Config; private apolloConfig; private apiProxy?; private api?; private apolloClient?; private tokenRefreshing; private apiChangeListener?; constructor(config: ConfigInput, apolloConfig?: ApolloConfigInput); /** * Use this method to obtain current API and optionally listen to its update on occured changes within it. * @param apiChangeListener Function called to get an API and called on every API update. */ connect(apiChangeListener?: (api?: CooperAPI) => any): Promise; private static createApi; private tokenExpirationCallback; private onCooperApiChange; } export * from "./auth"; export * from "./cache"; export * from "./links"; export * from "./client"; export * from "./gqlTypes/globalTypes"; export * from "./react";