/**
 * 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 { Mapping } from '../../../graph/metamodel/pure/packageableElements/mapping/Mapping.js';
import type { PackageableElementReference } from '../../../graph/metamodel/pure/packageableElements/PackageableElementReference.js';
import type { PackageableRuntime } from '../../../graph/metamodel/pure/packageableElements/runtime/PackageableRuntime.js';
export declare class QueryTaggedValue {
    profile: string;
    tag: string;
    value: string;
}
export declare class QueryStereotype {
    profile: string;
    stereotype: string;
}
export declare class QueryParameterValue {
    name: string;
    content: string;
}
export declare abstract class QueryExecutionContext {
}
export declare class QueryExplicitExecutionContext extends QueryExecutionContext {
    mapping: PackageableElementReference<Mapping>;
    runtime: PackageableElementReference<PackageableRuntime>;
}
export declare class QueryDataSpaceExecutionContext extends QueryExecutionContext {
    dataSpacePath: string;
    executionKey: string | undefined;
}
export declare class QueryDataProductExecutionContext extends QueryExecutionContext {
    dataProductPath: string;
    executionKey: string | undefined;
}
export interface QueryGridConfig {
    columns: object[];
    isPivotModeEnabled: boolean | undefined;
    isLocalModeEnabled: boolean | undefined;
    previewLimit?: number | undefined;
    weightedColumnPairs?: Map<string, string> | undefined;
}
export declare class Query {
    name: string;
    id: string;
    description?: string | undefined;
    versionId: string;
    originalVersionId?: string | undefined;
    groupId: string;
    artifactId: string;
    owner?: string | undefined;
    taggedValues?: QueryTaggedValue[] | undefined;
    stereotypes?: QueryStereotype[] | undefined;
    defaultParameterValues?: QueryParameterValue[] | undefined;
    content: string;
    executionContext: QueryExecutionContext;
    /**
     * mapping, runtime have been deprecated in favor of `V1_QueryExecutionContext`
     * @deprecated
     */
    mapping?: PackageableElementReference<Mapping> | undefined;
    /**
     * mapping, runtime have been deprecated in favor of `V1_QueryExecutionContext`
     * @deprecated
     */
    runtime?: PackageableElementReference<PackageableRuntime> | undefined;
    lastUpdatedAt?: number | undefined;
    createdAt?: number | undefined;
    lastOpenAt?: number | undefined;
    isCurrentUserQuery: boolean;
    gridConfig?: QueryGridConfig | undefined;
}
export declare class LightQuery {
    name: string;
    id: string;
    versionId: string;
    originalVersionId?: string | undefined;
    groupId: string;
    artifactId: string;
    owner?: string | undefined;
    lastUpdatedAt?: number | undefined;
    createdAt?: number | undefined;
    lastOpenAt?: number | undefined;
    description?: string | undefined;
    isCurrentUserQuery: boolean;
}
export declare const toLightQuery: (query: Query) => LightQuery;
export declare const cloneQueryTaggedValue: (val: QueryTaggedValue) => QueryTaggedValue;
export declare const cloneQueryStereotype: (val: QueryStereotype) => QueryStereotype;
export declare abstract class QueryExecutionContextInfo {
}
export declare class QueryExplicitExecutionContextInfo extends QueryExecutionContextInfo {
    mapping: string;
    runtime: string;
}
export declare class QueryDataSpaceExecutionContextInfo extends QueryExecutionContextInfo {
    dataSpacePath: string;
    executionKey: string | undefined;
}
export declare class QueryDataProductNativeExecutionContextInfo extends QueryExecutionContextInfo {
    dataProductPath: string;
    executionKey: string | undefined;
}
export interface QueryInfo {
    name: string;
    id: string;
    versionId: string;
    originalVersionId?: string | undefined;
    groupId: string;
    artifactId: string;
    executionContext: QueryExecutionContextInfo;
    mapping?: string | undefined;
    runtime?: string | undefined;
    content: string;
    isCurrentUserQuery: boolean;
    taggedValues?: QueryTaggedValue[] | undefined;
    defaultParameterValues?: QueryParameterValue[] | undefined;
}
//# sourceMappingURL=Query.d.ts.map