import { Datasource } from '../datasource';
import type { GetReleasesConfig, ReleaseResult } from '../types';
import { GemMetadata, GemVersions } from './schema';
export declare class RubyGemsDatasource extends Datasource {
    static readonly id = "rubygems";
    constructor();
    readonly defaultRegistryUrls: string[];
    readonly defaultVersioning = "ruby";
    readonly registryStrategy = "hunt";
    private readonly versionsEndpointCache;
    getReleases({ packageName, registryUrl, }: GetReleasesConfig): Promise<ReleaseResult | null>;
    fetchGemMetadata(registryUrl: string, packageName: string): Promise<GemMetadata | null>;
    fetchGemVersions(registryUrl: string, packageName: string): Promise<GemVersions | null>;
    getReleasesViaAPI(registryUrl: string, packageName: string, gemMetadata: GemMetadata): Promise<ReleaseResult | null>;
    getReleasesViaFallbackAPI(registryUrl: string, packageName: string): Promise<ReleaseResult | null>;
}
