import { Cache } from 'cache-manager';
export interface SolidxIamAuthRequest {
    email?: string;
    username?: string;
    password: string;
}
export interface SolidxIamUser {
    email: string;
    mobile: string;
    username: string;
    forcePasswordChange: boolean;
    id: number;
    roles: string[];
}
export interface SolidxIamAuthData {
    user: SolidxIamUser;
    accessToken: string;
    refreshToken: string;
}
export interface SolidxIamAuthResponse {
    statusCode: number;
    message: string[];
    error: string;
    data: SolidxIamAuthData;
}
export declare class SolidMicroserviceAdapter {
    private readonly cacheManager;
    private readonly logger;
    private baseUrl?;
    constructor(cacheManager: Cache);
    setBaseUrl(baseUrl: string): this;
    authenticate({ email, username, password }: SolidxIamAuthRequest): Promise<SolidxIamAuthResponse>;
    private getAuthCacheKey;
    private getJwtTtlSeconds;
    private base64UrlToBase64;
}
//# sourceMappingURL=solid-microservice-adapter.service.d.ts.map