import React from "react";
import { FirstlineClientOptions, ExchangeCodeResponse, LoginRedirectOptions } from "@first-line/firstline-spa-js";
export interface IFirstlineContext {
    getTokens: () => Promise<ExchangeCodeResponse>;
    getAccessToken: () => Promise<string>;
    loginWithRedirect: (options?: LoginWithRedirectOptions) => Promise<void>;
    verifyEmail: () => Promise<void>;
    logout: () => Promise<any>;
    doRefresh: () => Promise<ExchangeCodeResponse>;
    doExchangeOrRefresh: () => Promise<ExchangeCodeResponse>;
    isAuthenticated: boolean;
    isLoading: boolean;
    user: any;
    isEmailVerified: boolean;
}
export interface LoginWithRedirectOptions extends LoginRedirectOptions {
}
export declare const FirstlineContext: React.Context<IFirstlineContext>;
export interface FirstlineProviderOptions {
    children: React.ReactNode;
    clientOptions: FirstlineClientOptions;
}
export declare const FirstlineProvider: (options: FirstlineProviderOptions) => React.ReactElement;
export { FirstlineClient, FirstlineClientOptions, ExchangeCodeResponse, } from "@first-line/firstline-spa-js";
//# sourceMappingURL=firstline-provider.d.ts.map