import { Construct } from "constructs";
import { CustomResource } from "aws-cdk-lib";
import { Auth0Props } from "../auth0-props";
export interface ActionTriggerProps {
    /**
     * An actions extensibility point.
     */
    readonly id: "post-login" | "credentials-exchange" | "pre-user-registration" | "post-user-registration" | "post-change-password" | "send-phone-message" | "password-reset-post-challenge" | "login-post-identifier" | "custom-phone-provider" | "custom-email-provider" | "custom-token-exchange" | "event-stream";
    /**
     * The version of a trigger.
     */
    readonly version: "v1" | "v2" | "v3";
}
export interface ActionDependencyProps {
    /**
     * The name of the npm module (e.g. lodash).
     */
    readonly name: string;
    /**
     *  The npm module version (e.g. 4.17.1).
     */
    readonly version: string;
    /**
     * An optional value used primarily for private npm registries.
     */
    readonly registryUrl?: string;
}
export interface ActionSecretProps {
    /**
     * The name of the particular secret (e.g. `API_KEY`).
     */
    readonly name: string;
    /**
     * The value of the particular secret (e.g. `secret123`).
     * A secret's value can only be set upon creation.
     * A secret's value will never be returned by the API.
     */
    readonly value: string;
}
export interface ActionProps extends Auth0Props {
    /**
     * The name of an action.
     * @default generated name
     */
    readonly name?: string;
    /**
     * The list of triggers that this action supports.
     * At this time, an action can only target a single trigger at a time.
     */
    readonly supportedTriggers: Array<ActionTriggerProps>;
    /**
     * The source code of the action.
     */
    readonly code: string;
    /**
     * The list of third party npm modules, and their versions,
     * that this action depends on.
     */
    readonly dependencies?: Array<ActionDependencyProps>;
    /**
     * The Node runtime
     * @default `"node22"`
     */
    readonly runtime?: "node12" | "node18" | "node18-actions" | "node22";
    /**
     * The list of secrets that are included in an action or a version of an action
     */
    readonly secrets?: Array<ActionSecretProps>;
}
/**
 * @category Constructs
 */
export declare class Action extends CustomResource {
    readonly supportedTriggers: ActionTriggerProps[];
    readonly actionId: string;
    constructor(scope: Construct, id: string, props: ActionProps);
}
