/**
 * 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 { SerializationFactory, type PlainObject } from '@finos/legend-shared';
import type { V1_StereotypePtr } from '../../model/packageableElements/domain/V1_StereotypePtr.js';
import type { V1_TaggedValue } from '../../model/packageableElements/domain/V1_TaggedValue.js';
export declare class V1_QueryParameterValue {
    name: string;
    content: string;
    static readonly serialization: SerializationFactory<V1_QueryParameterValue>;
}
export interface V1_QueryGridConfig {
    columns: object[];
    isPivotModeEnabled: boolean | undefined;
    isLocalModeEnabled: boolean | undefined;
    previewLimit?: number | undefined;
    weightedColumnPairs?: Map<string, string> | undefined;
}
export declare class V1_QueryExecutionContext {
}
export declare enum V1_QueryExecutionContextType {
    QUERY_EXPLICIT_EXECUTION_CONTEXT = "explicitExecutionContext",
    QUERY_DATASAPCE_EXECUTION_CONTEXT = "dataSpaceExecutionContext",
    QUERY_DATAPRODUCT_NATIVE_EXECUTION_CONTEXT = "dataProductNativeExecutionContext",
    QUERY_DATAPRODUCT_MODEL_ACCESS_EXECUTION_CONTEXT = "dataProductModelAccessExecutionContext",
    QUERY_DATAPRODUCT_LAKEHOUSE_EXECUTION_CONTEXT = "dataProductLakehouseAccessExecutionContext"
}
export declare class V1_QueryExplicitExecutionContext extends V1_QueryExecutionContext {
    mapping: string;
    runtime: string;
    static readonly serialization: SerializationFactory<V1_QueryExplicitExecutionContext>;
}
export declare class V1_QueryDataSpaceExecutionContext extends V1_QueryExecutionContext {
    dataSpacePath: string;
    executionKey: string | undefined;
    static readonly serialization: SerializationFactory<V1_QueryDataSpaceExecutionContext>;
}
export declare abstract class V1_QueryDataProductExecutionContext extends V1_QueryExecutionContext {
    dataProductPath: string;
}
export declare class V1_DataProductNativeExecutionContext extends V1_QueryDataProductExecutionContext {
    executionKey: string;
    static readonly serialization: SerializationFactory<V1_DataProductNativeExecutionContext>;
}
export declare class V1_DataProductModelAccessExecutionContext extends V1_QueryDataProductExecutionContext {
    accessPointGroupId: string;
    static readonly serialization: SerializationFactory<V1_DataProductModelAccessExecutionContext>;
}
export declare class V1_DataProductLakehouseExecutionContext extends V1_QueryDataProductExecutionContext {
    accessPointId: string;
    accessGroupId: string;
    static readonly serialization: SerializationFactory<V1_DataProductLakehouseExecutionContext>;
}
export declare const V1_deserializeQueryExecutionContext: (json: PlainObject<V1_QueryExecutionContext>) => V1_QueryExecutionContext;
export declare const V1_serializeQueryExecutionContext: (protocol: V1_QueryExecutionContext) => PlainObject<V1_QueryExecutionContext>;
export declare class V1_Query {
    name: string;
    id: string;
    groupId: string;
    artifactId: string;
    versionId: string;
    description?: string | undefined;
    originalVersionId?: string | undefined;
    content: string;
    owner?: string | undefined;
    taggedValues?: V1_TaggedValue[] | undefined;
    stereotypes?: V1_StereotypePtr[] | undefined;
    defaultParameterValues?: V1_QueryParameterValue[] | undefined;
    lastUpdatedAt?: number | undefined;
    createdAt?: number | undefined;
    lastOpenAt?: number | undefined;
    gridConfig?: V1_QueryGridConfig | undefined;
    executionContext: V1_QueryExecutionContext | undefined;
    /**
     * mapping, runtime have been deprecated in favor of `V1_QueryExecutionContext`
     * @deprecated
     */
    mapping: string | undefined;
    /**
     * @deprecated
     */
    runtime: string | undefined;
    static readonly serialization: SerializationFactory<V1_Query>;
}
export declare class V1_LightQuery {
    name: string;
    id: string;
    groupId: string;
    owner?: string | undefined;
    artifactId: string;
    versionId: string;
    originalVersionId?: string | undefined;
    description?: string | undefined;
    lastUpdatedAt?: number | undefined;
    createdAt?: number | undefined;
    lastOpenAt?: number | undefined;
    static readonly serialization: SerializationFactory<V1_Query>;
}
//# sourceMappingURL=V1_Query.d.ts.map