import { Command, Config } from '@oclif/core';
import SecurityContext from './security/context.js';
export default abstract class CommandBase<T extends typeof Command> extends Command {
    protected readonly security: SecurityContext;
    constructor(argv: string[], config: Config);
    getGitRoot(startDir?: string): Promise<string>;
    getVersion(versionFile?: string, ...filesToCheck: string[]): Promise<string>;
    /**
     * Resolve path to Changelog folder from current execution directory
     * @returns {string} the resolved path to changelogs
     */
    getChangelogsRoot(): Promise<string>;
    /**
     * Get all files inside directory and normalize it against {baseRelativePath}.
     * @param {string} dir The name or path of the current directory
     * @param {string} baseRelativePath The relatice path format from the `dir`
     * @param {RegExp} filter Regular expressions filter for the file path
     * @returns {string[]} An array of files inside the directory with the specified filter
     */
    getFilesRecursive(dir: string, baseRelativePath: string, filter: RegExp): Promise<string[]>;
    run(): Promise<any>;
}
