import { GraphResultSet, RemoteJoinerOptions, RemoteJoinerQuery, RemoteQueryFunction, RemoteQueryInput, RemoteQueryObjectConfig, RemoteQueryObjectFromStringResult } from "@biryanihouse/types"; import { RemoteQuery } from "./remote-query"; /** * API wrapper around the remoteQuery */ export declare class Query { #private; /** * Method to wrap execution of the graph query for instrumentation */ static traceGraphQuery?: (queryFn: () => Promise, queryOptions: RemoteQueryInput) => Promise; /** * Method to wrap execution of the remoteQuery overload function * for instrumentation */ static traceRemoteQuery?: (queryFn: () => Promise, queryOptions: RemoteQueryObjectConfig | RemoteQueryObjectFromStringResult | RemoteJoinerQuery) => Promise; static instrument: { graphQuery(tracer: (typeof Query)["traceGraphQuery"]): void; remoteQuery(tracer: (typeof Query)["traceRemoteQuery"]): void; remoteDataFetch(tracer: (typeof RemoteQuery)["traceFetchRemoteData"]): void; }; constructor(remoteQuery: RemoteQuery); query(queryOptions: RemoteQueryInput | RemoteQueryObjectConfig | RemoteQueryObjectFromStringResult | RemoteJoinerQuery, options?: RemoteJoinerOptions): Promise; /** * Query wrapper to provide specific GraphQL like API around remoteQuery.query * @param query * @param variables * @param options */ gql(query: any, variables?: any, options?: any): Promise; /** * Graph function uses the remoteQuery under the hood and * returns a result set */ graph(queryOptions: RemoteQueryInput, options?: RemoteJoinerOptions): Promise>; } /** * API wrapper around the remoteQuery with backward compatibility support * @param remoteQuery */ export declare function createQuery(remoteQuery: RemoteQuery): Omit; //# sourceMappingURL=query.d.ts.map