/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import type { MetaTreeNode } from '@nocobase/flow-engine';
import React from 'react';
/**
 * Convert a stored value like `"{{ $env.foo.bar }}"` back into the
 * `[$env, foo, bar]` path used by the variable picker.
 */
export declare function parseEnvPath(value?: string): string[] | undefined;
/**
 * Format a meta tree node back into a `"{{ $env.x.y }}"` server-compatible
 * expression. Used as the `formatPathToValue` converter so the picker output
 * survives a round trip through the API.
 */
export declare function formatEnvPath(meta?: MetaTreeNode): string;
export interface EnvVariableInputProps {
    value?: string;
    onChange?: (value: string) => void;
    addonBefore?: React.ReactNode;
    disabled?: boolean;
    /**
     * When true, plain (non-variable) values are masked via `Input.Password`
     * so secret credentials are not displayed verbatim. Variable expressions
     * remain editable through the variable picker even in password mode.
     */
    password?: boolean;
    placeholder?: string;
}
/**
 * Convenience wrapper around `VariableInput` constrained to the `$env`
 * namespace, with optional password-input masking for plain values. Use for
 * fields that accept either a literal credential or a `{{ $env.X }}`
 * reference (S3 access keys, OAuth secrets, etc.). The `$env` tree is
 * provided by the environment-variables plugin's
 * `flowEngine.context.defineProperty('$env', ...)`; this component degrades
 * gracefully to an empty picker when no env variables are defined.
 */
export declare function EnvVariableInput(props: EnvVariableInputProps): React.JSX.Element;
