import * as _backstage_plugin_scaffolder_node from '@backstage/plugin-scaffolder-node';
import * as _backstage_types_index from '@backstage/types/index';
import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api';

type Value = string | {
    readFromContext: string;
};

/**
 * Creates a new Scaffolder action to annotate an entity object with specified label(s), annotation(s) and spec property(ies).
 *
 */
declare const createAnnotatorAction: (actionId?: string, actionDescription?: string, loggerInfoMsg?: string, annotateEntityObjectProvider?: (() => {
    annotations?: {
        [key: string]: string;
    } | undefined;
    labels?: {
        [key: string]: string;
    } | undefined;
    spec?: {
        [key: string]: Value;
    } | undefined;
}) | undefined) => _backstage_plugin_scaffolder_node.TemplateAction<{
    labels?: {
        [key: string]: string;
    } | undefined;
    annotations?: {
        [key: string]: string;
    } | undefined;
    spec?: {
        [key: string]: string;
    } | undefined;
    entityFilePath?: string | undefined;
    objectYaml?: {
        [key: string]: string;
    } | undefined;
    writeToFile?: string | undefined;
}, _backstage_types_index.JsonObject, "v1">;

declare const createTimestampAction: () => _backstage_plugin_scaffolder_node.TemplateAction<{
    labels?: {
        [key: string]: string;
    } | undefined;
    annotations?: {
        [key: string]: string;
    } | undefined;
    spec?: {
        [key: string]: string;
    } | undefined;
    entityFilePath?: string | undefined;
    objectYaml?: {
        [key: string]: string;
    } | undefined;
    writeToFile?: string | undefined;
}, _backstage_types_index.JsonObject, "v1">;

declare const createScaffoldedFromAction: () => _backstage_plugin_scaffolder_node.TemplateAction<{
    labels?: {
        [key: string]: string;
    } | undefined;
    annotations?: {
        [key: string]: string;
    } | undefined;
    spec?: {
        [key: string]: string;
    } | undefined;
    entityFilePath?: string | undefined;
    objectYaml?: {
        [key: string]: string;
    } | undefined;
    writeToFile?: string | undefined;
}, _backstage_types_index.JsonObject, "v1">;

/***/
/**
 * The annotator module for @backstage/plugin-scaffolder-backend.
 *
 * @alpha
 */
declare const scaffolderCustomActionsScaffolderModule: _backstage_backend_plugin_api.BackendFeature;

export { createAnnotatorAction, createScaffoldedFromAction, createTimestampAction, scaffolderCustomActionsScaffolderModule as default };
