import { DotGraphQLApiResponse, DotHttpClient } from '@dotcms/types';
/**
 * Builds a GraphQL query for retrieving page content from DotCMS.
 *
 * @param {string} pageQuery - Custom fragment fields to include in the ClientPage fragment
 * @param {string} additionalQueries - Additional GraphQL queries to include in the main query
 * @returns {string} Complete GraphQL query string for page content
 */
export declare const buildPageQuery: ({ page, fragments, additionalQueries, verbose }: {
    page?: string;
    fragments?: string[];
    additionalQueries?: string;
    verbose?: boolean;
}) => string;
/**
 * Converts a record of query strings into a single GraphQL query string.
 *
 * @param {Record<string, string>} queryData - Object containing named query strings
 * @returns {string} Combined query string or empty string if no queryData provided
 */
export declare function buildQuery(queryData: Record<string, string>): string;
/**
 * Filters response data to include only specified keys.
 *
 * @param {Record<string, unknown> | undefined} responseData - Original response data object
 * @param {string[]} keys - Array of keys to extract from the response data
 * @returns {Record<string, unknown> | undefined} New object containing only the specified keys
 */
export declare function mapContentResponse(responseData: Record<string, unknown> | undefined, keys: string[]): Record<string, unknown> | undefined;
/**
 * Executes a GraphQL query against the DotCMS API.
 *
 * @param {Object} options - Options for the fetch request
 * @param {string} options.body - GraphQL query string
 * @param {Record<string, string>} options.headers - HTTP headers for the request
 * @param {DotHttpClient} options.httpClient - HTTP client for making requests
 * @returns {Promise<DotGraphQLApiResponse>} Parsed JSON response from the GraphQL API
 * @throws {DotHttpError} If the HTTP request fails (non-2xx status or network error)
 */
export declare function fetchGraphQL({ baseURL, body, headers, httpClient }: {
    baseURL: string;
    body: string;
    headers?: HeadersInit;
    httpClient: DotHttpClient;
}): Promise<DotGraphQLApiResponse>;
