import type { BranchUpgradeConfig } from '../../../../types';
import type { ChangeLogError, ChangeLogResult } from './types';
export declare abstract class ChangeLogSource {
    private platform;
    private datasource;
    private cacheNamespace;
    constructor(platform: 'github' | 'gitlab', datasource: 'github-tags' | 'gitlab-tags');
    abstract getCompareURL(baseUrl: string, repository: string, prevHead: string, nextHead: string): string;
    abstract getAPIBaseUrl(config: BranchUpgradeConfig): string;
    getAllTags(endpoint: string, repository: string): Promise<string[]>;
    getChangeLogJSON(config: BranchUpgradeConfig): Promise<ChangeLogResult | null>;
    private findTagOfRelease;
    private getRef;
    private getCacheKey;
    protected getBaseUrl(config: BranchUpgradeConfig): string;
    private getRepositoryFromUrl;
    protected hasValidToken(config: BranchUpgradeConfig): {
        isValid: boolean;
        error?: ChangeLogError;
    };
    protected shouldSkipPackage(config: BranchUpgradeConfig): boolean;
}
