/**
 * Copyright (c) 2025-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 GeneratorFn } from '@finos/legend-shared';
import { type PropertyMapping, RelationFunctionPropertyMapping, type RelationFunctionInstanceSetImplementation } from '@finos/legend-graph';
import type { EditorStore } from '../../../EditorStore.js';
import { PropertyMappingState, InstanceSetImplementationState } from './MappingElementState.js';
export declare class RelationFunctionPropertyMappingState extends PropertyMappingState {
    editorStore: EditorStore;
    instanceSetImplementationState: RelationFunctionInstanceSetImplementationState;
    propertyMapping: RelationFunctionPropertyMapping;
    constructor(editorStore: EditorStore, instanceSetImplementationState: RelationFunctionInstanceSetImplementationState, propertyMapping: RelationFunctionPropertyMapping);
    get lambdaId(): string;
    convertLambdaGrammarStringToObject(): GeneratorFn<void>;
    convertLambdaObjectToGrammarString(options?: {
        pretty?: boolean | undefined;
        preserveCompilationError?: boolean | undefined;
    }): GeneratorFn<void>;
}
export declare class RelationFunctionInstanceSetImplementationState extends InstanceSetImplementationState {
    mappingElement: RelationFunctionInstanceSetImplementation;
    propertyMappingStates: RelationFunctionPropertyMappingState[];
    isConvertingTransformLambdaObjects: boolean;
    constructor(editorStore: EditorStore, setImplementation: RelationFunctionInstanceSetImplementation);
    getPropertyMappingStates(propertyMappings: PropertyMapping[]): RelationFunctionPropertyMappingState[];
    get hasParserError(): boolean;
    setPropertyMappingStates(propertyMappingState: RelationFunctionPropertyMappingState[]): void;
    /**
     * When we decorate, we might lose the error (parser/compiler) on each of the property mapping state
     * so here we make sure that we reuse existing state and only add new decorated ones
     */
    decorate(): void;
    convertPropertyMappingTransformObjects(): GeneratorFn<void>;
}
//# sourceMappingURL=RelationFunctionInstanceSetImplementationState.d.ts.map