/**
 * Copyright (c) 2026-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 } from '@finos/legend-shared';
import type { DataProductSearchResultDetailsType } from './DataProductSearchResult.js';
export declare enum FieldSearchType {
    HYBRID = "hybrid"
}
export interface FieldSearchRequest {
    query: string;
    searchType?: FieldSearchType;
    pageSize?: number;
    pageNumber?: number;
    dataProductTypes?: string[];
}
export declare class GroupedFieldSearchDataProduct {
    path: string;
    productType: DataProductSearchResultDetailsType;
    datasetName?: string;
    datasetDescription?: string;
    defaultExecutionContext?: string;
    groupId?: string;
    artifactId?: string;
    versionId?: string;
    modelPath?: string;
    dataProductId?: string;
    deploymentId?: number;
    static readonly serialization: SerializationFactory<GroupedFieldSearchDataProduct>;
}
export declare class GroupedFieldSearchResultEntry {
    fieldName: string;
    fieldType?: string;
    fieldDescription?: string;
    dataProducts: GroupedFieldSearchDataProduct[];
    static readonly serialization: SerializationFactory<GroupedFieldSearchResultEntry>;
}
export declare class GroupedFieldSearchResponseMetadata {
    total_count: number;
    num_pages: number;
    page_size: number;
    page_number: number;
    lakehouse_count: number;
    legacy_count: number;
    total_field_matches: number;
    next_page_number?: number | null;
    prev_page_number?: number | null;
    static readonly serialization: SerializationFactory<GroupedFieldSearchResponseMetadata>;
}
export declare class GroupedFieldSearchResponse {
    results: GroupedFieldSearchResultEntry[];
    metadata: GroupedFieldSearchResponseMetadata;
    static readonly serialization: SerializationFactory<GroupedFieldSearchResponse>;
}
//# sourceMappingURL=FieldSearch.d.ts.map