import { Repository } from 'typeorm';
import { CloudProvider } from '../../providers/enums/cloud-provider.enum';
import { ProviderCredentialsEntity } from '../entities/credentials.entity';
export declare class ProviderCredentialsRepository {
    private readonly credentialsRepo;
    constructor(credentialsRepo: Repository<ProviderCredentialsEntity>);
    saveCredentials(provider: CloudProvider, username: string, password: string, client_id: string, client_secret: string, accessToken?: string, refreshToken?: string, expiresIn?: number, refreshTokenExp?: number): Promise<ProviderCredentialsEntity>;
    findByProvider(provider: CloudProvider): Promise<ProviderCredentialsEntity[]>;
    findById(id: string): Promise<ProviderCredentialsEntity | null>;
    findByClientId(clientId: string, provider: CloudProvider): Promise<ProviderCredentialsEntity | null>;
    updateTokens(id: string, accessToken: string, refreshToken?: string, expiresIn?: number): Promise<ProviderCredentialsEntity>;
    deleteCredentials(id: string): Promise<void>;
    getActiveCredentials(): Promise<ProviderCredentialsEntity[]>;
    isTokenExpired(id: string): Promise<boolean>;
    findAll(): Promise<ProviderCredentialsEntity[]>;
    deleteTokenAndCredentials(id: string): Promise<void>;
}
