import { CommonTemplateProvider, CommonTemplateProviderOptions } from "../CommonTemplateProvider";
import { TemplateCliOption, TemplateContext } from "../TemplateProvider";
import { TemplateProviderType } from "../TemplateProviderType";
/**
 * An abstract {@link TemplateProvider} that is intended for preset package template providers.
 */
export declare abstract class CommonPresetTemplateProvider<C extends CommonPresetTemplateContext> extends CommonTemplateProvider<C, CommonPresetTemplateContext> {
    /**
     * Creates an instance of {@link CommonPresetTemplateProvider} using the `options` provided.
     *
     * @param options - The options to be used.
     */
    protected constructor(options: CommonPresetTemplateProviderOptions);
    createCommonCliOptions(): TemplateCliOption[];
    createCommonContext(options: Partial<C>): Promise<CommonPresetTemplateContext>;
    getType(): TemplateProviderType;
}
/**
 * The context passed to a preset package template during rendering.
 */
export interface CommonPresetTemplateContext extends TemplateContext {
    /**
     * Whether the package is for the default preset.
     */
    readonly isDefault: boolean;
}
/**
 * The options used by {@link CommonPresetTemplateProvider}.
 */
export declare type CommonPresetTemplateProviderOptions = CommonTemplateProviderOptions;
