import * as _backstage_plugin_scaffolder_node from '@backstage/plugin-scaffolder-node';
import { TemplateExample } from '@backstage/plugin-scaffolder-node';
import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api';

/**
 * @public
 */
type Value = string | {
    readFromContext: string;
};

/**
 * @public
 * 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]: Value;
    };
    labels?: {
        [key: string]: string;
    };
    spec?: {
        [key: string]: Value;
    };
}, examples?: TemplateExample[]) => _backstage_plugin_scaffolder_node.TemplateAction<{
    labels?: Record<string, string> | undefined;
    annotations?: Record<string, string> | undefined;
    spec?: Record<string, any> | undefined;
    entityFilePath?: string | undefined;
    objectYaml?: Record<string, any> | undefined;
    writeToFile?: string | undefined;
}, {
    [x: string]: any;
}, "v2">;

/**
 * @public
 */
declare const createTimestampAction: () => _backstage_plugin_scaffolder_node.TemplateAction<{
    labels?: Record<string, string> | undefined;
    annotations?: Record<string, string> | undefined;
    spec?: Record<string, any> | undefined;
    entityFilePath?: string | undefined;
    objectYaml?: Record<string, any> | undefined;
    writeToFile?: string | undefined;
}, {
    [x: string]: any;
}, "v2">;

/**
 * @public
 */
declare const createScaffoldedFromAction: () => _backstage_plugin_scaffolder_node.TemplateAction<{
    labels?: Record<string, string> | undefined;
    annotations?: Record<string, string> | undefined;
    spec?: Record<string, any> | undefined;
    entityFilePath?: string | undefined;
    objectYaml?: Record<string, any> | undefined;
    writeToFile?: string | undefined;
}, {
    [x: string]: any;
}, "v2">;

/**
 * @public
 */
declare const createVersionAction: () => _backstage_plugin_scaffolder_node.TemplateAction<{
    labels?: Record<string, string> | undefined;
    annotations?: Record<string, string> | undefined;
    spec?: Record<string, any> | undefined;
    entityFilePath?: string | undefined;
    objectYaml?: Record<string, any> | undefined;
    writeToFile?: string | undefined;
}, {
    [x: string]: any;
}, "v2">;

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

export { type Value, createAnnotatorAction, createScaffoldedFromAction, createTimestampAction, createVersionAction, scaffolderCustomActionsScaffolderModule as default };
