import { TemplateCliOption } from "../TemplateProvider";
import { CommonPluginTemplateContext, CommonPluginTemplateProvider, CommonPluginTemplateProviderOptions } from "./CommonPluginTemplateProvider";
/**
 * A {@link TemplateProvider} for contribution plugin package templates.
 */
export declare class ContribPluginTemplateProvider extends CommonPluginTemplateProvider<ContribPluginTemplateContext> {
    /**
     * Creates an instance of {@link ContribPluginTemplateProvider} using the `options` provided.
     *
     * @param options - The options to be used.
     */
    constructor(options: CommonPluginTemplateProviderOptions);
    protected extendCommonCliOptions(commonCliOptions: TemplateCliOption[]): TemplateCliOption[];
    protected extendCommonContext(commonContext: CommonPluginTemplateContext, options: Partial<ContribPluginTemplateContext>): ContribPluginTemplateContext;
    protected getAuthorName(options: Partial<ContribPluginTemplateContext>): string;
    protected getDefaultVersion(): Promise<string>;
    getName(): string;
}
/**
 * The context passed to contribution plugin package template during rendering.
 */
export interface ContribPluginTemplateContext extends CommonPluginTemplateContext {
    /**
     * The email of the package's author, where applicable.
     */
    readonly authorEmail?: string;
    /**
     * The homepage URL of the package's author, where applicable.
     */
    readonly authorUrl?: string;
    /**
     * The URL of the package's issue tracker, where applicable.
     */
    readonly bugsUrl?: string;
    /**
     * The homepage URL of the package, where applicable.
     */
    readonly homepageUrl?: string;
    /**
     * The URL of the package's git repository.
     */
    readonly repositoryUrl: string;
}
