/**
 * 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 V1_GraphBuilderContext } from './V1_GraphBuilderContext.js';
import type { V1_PackageableElement, V1_PackageableElementVisitor } from '../../../model/packageableElements/V1_PackageableElement.js';
import type { V1_Profile } from '../../../model/packageableElements/domain/V1_Profile.js';
import type { V1_Enumeration } from '../../../model/packageableElements/domain/V1_Enumeration.js';
import type { V1_Class } from '../../../model/packageableElements/domain/V1_Class.js';
import type { V1_ConcreteFunctionDefinition } from '../../../model/packageableElements/function/V1_ConcreteFunctionDefinition.js';
import type { V1_Association } from '../../../model/packageableElements/domain/V1_Association.js';
import type { V1_FlatData } from '../../../model/packageableElements/store/flatData/model/V1_FlatData.js';
import type { V1_Database } from '../../../model/packageableElements/store/relational/model/V1_Database.js';
import type { V1_Mapping } from '../../../model/packageableElements/mapping/V1_Mapping.js';
import type { V1_Service } from '../../../model/packageableElements/service/V1_Service.js';
import type { V1_PackageableRuntime } from '../../../model/packageableElements/runtime/V1_PackageableRuntime.js';
import type { V1_PackageableConnection } from '../../../model/packageableElements/connection/V1_PackageableConnection.js';
import type { V1_FileGenerationSpecification } from '../../../model/packageableElements/fileGeneration/V1_FileGenerationSpecification.js';
import type { V1_GenerationSpecification } from '../../../model/packageableElements/generationSpecification/V1_GenerationSpecification.js';
import type { V1_Measure } from '../../../model/packageableElements/domain/V1_Measure.js';
import type { V1_SectionIndex } from '../../../model/packageableElements/section/V1_SectionIndex.js';
import type { V1_DataElement } from '../../../model/packageableElements/data/V1_DataElement.js';
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
import type { V1_INTERNAL__UnknownPackageableElement } from '../../../model/packageableElements/V1_INTERNAL__UnknownPackageableElement.js';
import type { V1_INTERNAL__UnknownFunctionActivator } from '../../../model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.js';
import type { V1_INTERNAL__UnknownStore } from '../../../model/packageableElements/store/V1_INTERNAL__UnknownStore.js';
import type { V1_SnowflakeApp } from '../../../model/packageableElements/function/V1_SnowflakeApp.js';
import type { V1_SnowflakeM2MUdf } from '../../../model/packageableElements/function/V1_SnowflakeM2MUdf.js';
import type { V1_MemSQLFunction } from '../../../model/packageableElements/function/V1_MemSQLFunction.js';
import type { V1_INTERNAL__UnknownElement } from '../../../model/packageableElements/V1_INTERNAL__UnknownElement.js';
import type { V1_HostedService } from '../../../model/packageableElements/function/V1_HostedService.js';
import type { V1_DataProduct } from '../../../model/packageableElements/dataProduct/V1_DataProduct.js';
import type { V1_IngestDefinition } from '../../../model/packageableElements/ingest/V1_IngestDefinition.js';
export declare class V1_ElementThirdPassBuilder implements V1_PackageableElementVisitor<void> {
    context: V1_GraphBuilderContext;
    constructor(context: V1_GraphBuilderContext);
    visit_PackageableElement(element: V1_PackageableElement): void;
    visit_INTERNAL__UnknownElement(element: V1_INTERNAL__UnknownElement): void;
    visit_INTERNAL__UnknownPackageableElement(element: V1_INTERNAL__UnknownPackageableElement): void;
    visit_IngestDefinition(element: V1_IngestDefinition): void;
    visit_INTERNAL__UnknownFunctionActivator(element: V1_INTERNAL__UnknownFunctionActivator): void;
    visit_INTERNAL__UnknownStore(element: V1_INTERNAL__UnknownStore): void;
    visit_Profile(element: V1_Profile): void;
    visit_Enumeration(element: V1_Enumeration): void;
    visit_Measure(element: V1_Measure): void;
    visit_SnowflakeApp(element: V1_SnowflakeApp): void;
    visit_SnowflakeM2MUdf(element: V1_SnowflakeM2MUdf): void;
    visit_MemSQLFunction(element: V1_MemSQLFunction): void;
    visit_HostedService(element: V1_HostedService): void;
    visit_ExecutionEnvironmentInstance(element: V1_ExecutionEnvironmentInstance): void;
    visit_Class(element: V1_Class): void;
    visit_Association(element: V1_Association): void;
    visit_ConcreteFunctionDefinition(element: V1_ConcreteFunctionDefinition): void;
    visit_FlatData(element: V1_FlatData): void;
    visit_Database(element: V1_Database): void;
    visit_Mapping(element: V1_Mapping): void;
    visit_Service(element: V1_Service): void;
    visit_FileGeneration(element: V1_FileGenerationSpecification): void;
    visit_GenerationSpecification(element: V1_GenerationSpecification): void;
    visit_SectionIndex(element: V1_SectionIndex): void;
    visit_PackageableRuntime(element: V1_PackageableRuntime): void;
    visit_PackageableConnection(element: V1_PackageableConnection): void;
    visit_DataElement(element: V1_DataElement): void;
    visit_DataProduct(element: V1_DataProduct): void;
}
//# sourceMappingURL=V1_ElementThirdPassBuilder.d.ts.map