import { HttpClientInterface } from '../../http';
import { ArchitectAuthProviders, ArchitectAuthProviderService, ArchitectCredentials, ArchitectResponse } from '../types';
export declare abstract class BaseProvider implements ArchitectAuthProviderService {
    readonly provider: ArchitectAuthProviders;
    private readonly httpClient;
    protected constructor(provider: ArchitectAuthProviders, httpClient: HttpClientInterface);
    handleLogin(credentials: ArchitectCredentials): Promise<ArchitectResponse>;
    abstract validateCredentials(credentials: ArchitectCredentials): void;
    protected formatErrorMessage(credentials: ArchitectCredentials, expected: Record<string, string>): string;
}
