import { InputService, Logger, Metrics } from "../models"; /** * Downloads a list of templates. * * @callback saveTemplate * @typedef T The type of template to download. * @param {() => Promise} getTemplates A DI'd function which gets templates. * @param {saveTemplate} saveTemplate A DI'd function which saves templates. * @param {InputService} inputService User input service * @param {Logger} logger Logger * @param {Metrics|undefined} metrics Metrics * @param {string?} templateNameOption The optional file name to save the template to. * @param {string?} outputPathOption The optional path to save the template to. * @returns {Promise} A Promise to download the template. */ export declare function downloadTemplates(getTemplates: () => Promise, saveTemplate: (ouputFileName: string, template: T) => Promise, inputService: InputService, logger: Logger, metrics?: Metrics, templateNameOption?: string, outputPathOption?: string): Promise;