import { Repository } from 'typeorm';
import { SSHKeyEntity } from '../entities/ssh-key.entity';
import { IAccessRepository } from '../interfaces/access.repository';
import { SSHKey, SSHKeyInput, SSHKeyPair } from '../interfaces/ssh-key.interface';
export declare class DefaultAccessRepository implements IAccessRepository {
    private readonly sshKeyRepo;
    constructor(sshKeyRepo: Repository<SSHKeyEntity>);
    findAllKeys(tagFilters?: Record<string, string | string[]>): Promise<SSHKey[]>;
    findKeyById(id: string): Promise<SSHKey | null>;
    findKeyByFingerprint(fingerprint: string): Promise<SSHKey | null>;
    findKeyByProviderKeyId(providerKeyId: string): Promise<SSHKey | null>;
    createKey(keyInput: SSHKeyInput, keyPair: SSHKeyPair, tags?: Record<string, string | string[]>, autoGenerated?: boolean): Promise<SSHKey>;
    deleteKey(id: string): Promise<void>;
    updateKeyLastUsed(id: string): Promise<SSHKey>;
    updateKey(id: string, updates: Partial<SSHKey>): Promise<SSHKey | null>;
}
