import { Repository } from 'typeorm';
import { NestAuthAccessKey } from '../entities/access-key.entity';
import { NestAuthUser } from '../entities/user.entity';
import { EventEmitter2 } from '@nestjs/event-emitter';
export declare class AccessKeyService {
    private accessKeyRepository;
    private userRepository;
    private eventEmitter;
    constructor(accessKeyRepository: Repository<NestAuthAccessKey>, userRepository: Repository<NestAuthUser>, eventEmitter: EventEmitter2);
    private generateKeyPair;
    createAccessKey(userId: string, name: string): Promise<NestAuthAccessKey>;
    getAccessKey(publicKey: string): Promise<NestAuthAccessKey>;
    validateAccessKey(publicKey: string, privateKey: string): Promise<boolean>;
    getUserAccessKeys(userId: string): Promise<NestAuthAccessKey[]>;
    deactivateAccessKey(publicKey: string): Promise<NestAuthAccessKey>;
    updateAccessKeyLastUsed(publicKey: string): Promise<void>;
    setAccessKeyExpiry(publicKey: string, expiresAt: Date): Promise<NestAuthAccessKey>;
    deleteAccessKey(publicKey: string): Promise<void>;
}
//# sourceMappingURL=access-key.service.d.ts.map