/// <reference path="../../../src/base-types.d.ts" />
import { ReactNode } from 'react';
export type SecurityContextProps = {
    payload: string;
    token: string | null;
    currentToken: string | null;
    isModalOpen: boolean;
    setIsModalOpen: any;
    saveToken: (token: string | null) => Promise<void>;
    refreshToken: () => Promise<void>;
    onTokenPayloadChange: (payload: Record<string, any>, token: string | null) => Promise<string>;
};
export declare const SecurityContextContext: import("react").Context<SecurityContextProps>;
export type SecurityContextProviderProps = {
    children: ReactNode;
    tokenUpdater?: (token: string | null) => Promise<string | null>;
} & Pick<SecurityContextProps, 'onTokenPayloadChange'>;
export declare const SecurityContextProvider: import("react").NamedExoticComponent<{
    children: ReactNode;
    tokenUpdater?: ((token: string | null) => Promise<string | null>) | undefined;
} & Pick<SecurityContextProps, "onTokenPayloadChange">>;
