/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { type PureModel, type GraphManagerState, type ValueSpecification, type Type, type Enum, type ObserverContext, type RawLambda, VariableExpression, CollectionInstanceValue, Enumeration, EnumValueInstanceValue, PrimitiveInstanceValue, PrimitiveType, PRIMITIVE_TYPE, SimpleFunctionExpression, LambdaFunction, AbstractPropertyExpression } from '@finos/legend-graph';
import type { ApplicationStore, LegendApplicationConfig, LegendApplicationPlugin, LegendApplicationPluginManager } from '@finos/legend-application';
export declare const createSupportedFunctionExpression: (supportedFuncName: string, expectedReturnType: Type) => SimpleFunctionExpression;
export declare const buildPrimitiveInstanceValue: (graph: PureModel, type: PRIMITIVE_TYPE, value: unknown, observerContext: ObserverContext) => PrimitiveInstanceValue;
export declare const buildEnumInstanceValue: (graph: PureModel, enumPath: string, value: string, observerContext: ObserverContext) => EnumValueInstanceValue;
export declare const buildPrimitiveCollectionInstanceValue: (graph: PureModel, type: PRIMITIVE_TYPE, values: unknown[], observerContext: ObserverContext) => CollectionInstanceValue;
export declare const buildEnumCollectionInstanceValue: (graph: PureModel, enumPath: string, values: string[], observerContext: ObserverContext) => CollectionInstanceValue;
export declare const cloneValueSpecification: (valueSpecification: ValueSpecification, observerContext: ObserverContext) => ValueSpecification;
export declare const cloneAbstractPropertyExpression: (propertyExpression: AbstractPropertyExpression, observerContext: ObserverContext) => AbstractPropertyExpression;
export declare const createMockPrimitiveValueSpecification: (primitiveType: PrimitiveType, graph: PureModel, observerContext: ObserverContext, options?: {
    useCurrentDateDependentFunctions?: boolean;
}) => ValueSpecification;
export declare const createMockEnumerationProperty: (enumeration: Enumeration) => string;
export declare const buildDefaultInstanceValue: (graph: PureModel, type: Type, observerContext: ObserverContext, enableInitializingDefaultValue: boolean) => ValueSpecification;
export declare const buildDefaultEmptyStringLambda: (graph: PureModel, observerContext: ObserverContext) => LambdaFunction;
export declare const buildDefaultEmptyStringRawLambda: (graphState: GraphManagerState, observerContext: ObserverContext) => RawLambda;
export declare const generateVariableExpressionMockValue: (parameter: VariableExpression, graph: PureModel, observerContext: ObserverContext, options?: {
    useCurrentDateDependentFunctions?: boolean;
}) => ValueSpecification | undefined;
export declare const getValueSpecificationStringValue: (valueSpecification: ValueSpecification, applicationStore: ApplicationStore<LegendApplicationConfig, LegendApplicationPluginManager<LegendApplicationPlugin>>, options?: {
    omitEnumOwnerName?: boolean;
    wrapStringInDoubleQuotes?: boolean;
}) => string | undefined;
export declare const valueSpecReturnTDS: (val: ValueSpecification, graph: PureModel) => boolean;
export declare const convertTextToPrimitiveInstanceValue: (expectedType: Type, value: string, observerContext: ObserverContext) => PrimitiveInstanceValue | null;
export declare const convertTextToEnum: (value: string, enumType: Enumeration) => Enum | undefined;
//# sourceMappingURL=ValueSpecificationEditorHelper.d.ts.map