import type { Metadata } from '@devvit/protos';
import { type FetchResponse } from '@devvit/protos/types/devvit/plugin/http/http.js';
import type { JSONObject, JSONValue } from '@devvit/shared-types/json.js';
import type { HTTP } from '../http/BaseHttp.js';
export declare class RedditAPI {
    #private;
    constructor(httpClient: HTTP);
    protected _decodeAndValidateResponseJSON(response: FetchResponse, ignoreKeys?: RegExp[]): JSONValue;
    protected _fetch(methodName: string, obj: Object, metadata: Metadata): Promise<FetchResponse>;
    protected _gqlQueryWithQueryString(query: string, variables: JSONObject | undefined, metadata: Metadata): Promise<FetchResponse>;
    protected _gqlLegacyPersistedQuery(id: string, variables: JSONObject | undefined, metadata: Metadata): Promise<FetchResponse>;
    protected _gqlFedPersistedQuery(operationName: string, hash: string, variables: JSONObject | undefined, metadata: Metadata): Promise<FetchResponse>;
    protected _gqlQuery(endpoint: string, payload: Record<string, unknown>, metadata: Metadata): Promise<FetchResponse>;
}
//# sourceMappingURL=RedditAPI.d.ts.map