import { LogicalOperator, ReturnType, Service } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchEnums";
import { RcsbSearchAttributeType } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchMetadata";
import { AttributeTextQueryParameters, ResultsContentType, SearchQuery } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchQueryInterface";
import { FacetStoreInterface } from "./FacetStore/FacetStoreInterface";
import { GroupProvenanceId } from "@rcsb/rcsb-api-tools/lib/RcsbDw/Types/DwEnums";
import { SearchQueryType } from "@rcsb/rcsb-search-tools/lib/SearchQueryTools/SearchQueryInterfaces";
export declare namespace SearchQueryTools {
    function searchGroupQuery(groupProvenance: GroupProvenanceId, groupId: string, service?: Service.Text | Service.TextChem): SearchQueryType;
    function addGroupNodeToSearchQuery(groupProvenanceId: GroupProvenanceId, groupId: string, searchQuery: SearchQueryType, service?: Service.Text | Service.TextChem): SearchQueryType;
    function buildNodeSearchQuery(node: SearchQueryType, searchQuery: SearchQueryType, returnType: ReturnType, resultsContentType: ResultsContentType, logicalOperator?: LogicalOperator): SearchQuery;
    function buildSearchQuery(searchQuery: SearchQueryType, returnType: ReturnType): SearchQuery;
    function addNewNodeToAttributeSearchQuery(attribute: RcsbSearchAttributeType, value: AttributeTextQueryParameters['value'], operator: AttributeTextQueryParameters["operator"], searchQuery: SearchQueryType, service: Service.Text | Service.TextChem, negation?: boolean): SearchQueryType;
    function searchAttributeQuery(attribute: RcsbSearchAttributeType, value: AttributeTextQueryParameters['value'], operator: AttributeTextQueryParameters["operator"], service: Service.Text | Service.TextChem, negation?: boolean): SearchQueryType;
    function addNodeToSearchQuery(node: SearchQueryType, searchQuery: SearchQueryType, logicalOperator?: LogicalOperator): SearchQueryType;
    function getFacetStoreFromGroupProvenance(groupProvenanceId: GroupProvenanceId): FacetStoreInterface | undefined;
    function searchContentType(searchQuery?: SearchQuery): ResultsContentType;
}
