import { IObserver } from '../observer/IObserver';
import { ITokenManager } from './Interfaces/ITokenManager';
import { KeycloakLogin } from '../models/keycloak-login';
export default class TokenManager extends ITokenManager {
    private readonly url;
    private accessToken?;
    private refreshToken?;
    private accessTokenExpireTime?;
    private refreshTokenExpireTime?;
    private clientId?;
    private clientSecret?;
    constructor(url: string, observers?: IObserver[]);
    initializeManager: (keycloakLogin: KeycloakLogin) => Promise<void>;
    protected makeRefreshRequest: (apiConfig: {
        url;
        method;
        headers;
        body;
    }) => Promise<void>;
    protected refreshAccessToken: () => Promise<void>;
    protected notify: () => void;
}
