/// <reference types="node" />
/// <reference types="node" />
import { Ora } from 'ora';
import { Metadata, MetadataSource } from '../core';
import { MetadataConfig } from '../core/core-config';
import { CliCommandBase } from './command-base';
export declare class CliTagger extends CliCommandBase {
    spinner: Ora;
    metadataSource: MetadataSource;
    metadataConfig: MetadataConfig;
    constructor(spinner: Ora);
    getLocalCover(): Promise<Buffer>;
    getLocalJson(): Promise<Metadata[]>;
    downloadMetadata(album: string, cover?: Buffer): Promise<Metadata[]>;
    createFiles(metadata: Metadata[]): Promise<string[]>;
    writeMetadataToFile(metadata: Metadata[], targetFiles: string[]): Promise<void>;
    withRetry<T>(action: () => Promise<T>): Promise<T>;
    fetchMetadata(album: string): Promise<void>;
    run(album: string): Promise<void>;
}
