import { SSHKey, SSHKeyInput, SSHKeyPair } from './ssh-key.interface';
export interface IAccessRepository {
    findAllKeys(tagFilters?: Record<string, string | string[]>): Promise<SSHKey[]>;
    findKeyById(id: 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>;
    findKeyByFingerprint(fingerprint: string): Promise<SSHKey | null>;
    findKeyByProviderKeyId(providerKeyId: string): Promise<SSHKey | null>;
    updateKey(id: string, updates: Partial<SSHKey>): Promise<SSHKey | null>;
}
