import { Repository } from 'typeorm';
import { BaseAuthProvider } from './base-auth.provider';
import { NestAuthUser } from '../../user/entities/user.entity';
import { NestAuthIdentity } from '../../user/entities/identity.entity';
import { EmailCredentialsDto } from 'src/lib/auth';
export declare class EmailAuthProvider extends BaseAuthProvider {
    protected readonly userRepository: Repository<NestAuthUser>;
    protected readonly authIdentityRepository: Repository<NestAuthIdentity>;
    providerName: string;
    constructor(userRepository: Repository<NestAuthUser>, authIdentityRepository: Repository<NestAuthIdentity>);
    private normalizeEmail;
    private isValidEmail;
    findIdentity(providerUserId: string): Promise<NestAuthIdentity | null>;
    linkToUser(userId: string, providerUserId: string, metadata?: Record<string, any>): Promise<void>;
    validate(credentials: EmailCredentialsDto): Promise<{
        userId: string;
        email: string;
        metadata: NestAuthUser;
    }>;
    getRequiredFields(): string[];
}
//# sourceMappingURL=email-auth.provider.d.ts.map