import React, { PropsWithChildren } from "react";
import { AuthSession } from "./AuthSessionApi";
export type AuthSessionsContextType = {
    authSessions: Map<string, AuthSession>;
    isNewAuthSessionModalOpen: boolean;
    isAuthSessionsReady: boolean;
    currentAuthSession?: AuthSession;
    onSelectAuthSession?: (authSession: AuthSession) => void;
};
export type AuthSessionsDispatchContextType = {
    reauthAllAndUpdateStatus: () => void;
    add: (authSession: AuthSession) => Promise<void>;
    remove: (authSession: AuthSession) => void;
    setIsNewAuthSessionModalOpen: React.Dispatch<React.SetStateAction<boolean>>;
    setCurrentAuthSession: React.Dispatch<React.SetStateAction<AuthSession | undefined>>;
    setOnSelectAuthSession: React.Dispatch<React.SetStateAction<((authSession: AuthSession) => void) | undefined>>;
};
export declare function useAuthSessions(): AuthSessionsContextType;
export declare function useAuthSessionsDispatch(): AuthSessionsDispatchContextType;
export declare function AuthSessionsContextProvider(props: PropsWithChildren<{}>): JSX.Element;
export declare function useAuthSession(authSessionId?: string): {
    authSession: AuthSession | undefined;
};
//# sourceMappingURL=AuthSessionsContext.d.ts.map