/**
 * 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 { InstanceSetImplementationState, PropertyMappingState } from './MappingElementState.js';
import type { EditorStore } from '../../../EditorStore.js';
import { type GeneratorFn } from '@finos/legend-shared';
import { type PurePropertyMapping, type PureInstanceSetImplementation } from '@finos/legend-graph';
import { LambdaEditorState } from '@finos/legend-query-builder';
export declare class PurePropertyMappingState extends PropertyMappingState {
    editorStore: EditorStore;
    instanceSetImplementationState: PureInstanceSetImplementationState;
    propertyMapping: PurePropertyMapping;
    constructor(editorStore: EditorStore, instanceSetImplementationState: PureInstanceSetImplementationState, propertyMapping: PurePropertyMapping);
    get lambdaId(): string;
    convertLambdaGrammarStringToObject(): GeneratorFn<void>;
    convertLambdaObjectToGrammarString(options?: {
        pretty?: boolean | undefined;
        preserveCompilationError?: boolean | undefined;
    }): GeneratorFn<void>;
}
export declare class PureInstanceSetImplementationFilterState extends LambdaEditorState {
    editorStore: EditorStore;
    instanceSetImplementation: PureInstanceSetImplementation;
    constructor(instanceSetImplementation: PureInstanceSetImplementation, editorStore: EditorStore);
    get lambdaId(): string;
    convertLambdaGrammarStringToObject(): GeneratorFn<void>;
    convertLambdaObjectToGrammarString(options?: {
        pretty?: boolean | undefined;
        preserveCompilationError?: boolean | undefined;
    }): GeneratorFn<void>;
}
export declare class PureInstanceSetImplementationState extends InstanceSetImplementationState {
    mappingElement: PureInstanceSetImplementation;
    propertyMappingStates: PurePropertyMappingState[];
    mappingFilterState: PureInstanceSetImplementationFilterState | undefined;
    isConvertingTransformLambdaObjects: boolean;
    constructor(editorStore: EditorStore, setImplementation: PureInstanceSetImplementation);
    get hasParserError(): boolean;
    setPropertyMappingStates(propertyMappingState: PurePropertyMappingState[]): void;
    setMappingFilterState(mappingFilterState: PureInstanceSetImplementationFilterState): 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>;
    convertFilter(): GeneratorFn<void>;
}
//# sourceMappingURL=PureInstanceSetImplementationState.d.ts.map