import { Repository } from 'typeorm';
import { NestAuthUser } from '../../user/entities/user.entity';
import { NestAuthIdentity } from '../../user/entities/identity.entity';
import { AuthProviderUser, BaseAuthProvider } from './base-auth.provider';
import { NestAuthOTP } from '../../auth/entities/otp.entity';
import { PasswordlessOtpCredentialsDto } from '../../auth/dto/credentials/passwordless-otp-credentials.dto';
export declare class PasswordlessAuthProvider extends BaseAuthProvider {
    protected readonly userRepository: Repository<NestAuthUser>;
    protected readonly authIdentityRepository: Repository<NestAuthIdentity>;
    providerName: string;
    skipMfa: boolean;
    otpRepository: Repository<NestAuthOTP>;
    constructor(userRepository: Repository<NestAuthUser>, authIdentityRepository: Repository<NestAuthIdentity>);
    validate(credentials: PasswordlessOtpCredentialsDto, tenantId?: string): Promise<AuthProviderUser>;
    private findIdentityForChannel;
    findIdentity(providerUserId: string, tenantId?: string): Promise<NestAuthIdentity | null>;
    findIdentityByUserId(userId: string): Promise<NestAuthIdentity | null>;
    getRequiredFields(): string[];
    private consumeOtp;
}
//# sourceMappingURL=passwordless-auth.provider.d.ts.map