import type { TypedDocumentNode } from '@graphql-typed-document-node/core'; import type { IotaTransport, IotaTransportRequestOptions, IotaTransportSubscribeOptions, RequestInspector } from '@iota/iota-sdk/client'; import type { DocumentNode } from 'graphql'; import { TypedDocumentString } from './generated/queries.js'; import type { GraphQLWebSocketClientOptions } from './graphql-websocket-client.js'; import { RPC_METHODS } from './methods.js'; export interface IotaClientGraphQLTransportOptions { url: string; wsUrl?: string; wsOptions?: Omit; WebSocketConstructor?: typeof WebSocket; fallbackTransportUrl?: string; fallbackMethods?: (keyof typeof RPC_METHODS)[]; unsupportedMethods?: (keyof typeof RPC_METHODS)[]; /** Optional inspector function for monitoring and tracing requests */ inspector?: RequestInspector; } export type GraphQLDocument, Variables = Record> = string | DocumentNode | TypedDocumentNode | TypedDocumentString; export type GraphQLQueryOptions, Variables = Record> = { query: GraphQLDocument; operationName?: string; extensions?: Record; } & (Variables extends { [key: string]: never; } ? { variables?: Variables; } : { variables: Variables; }); export type GraphQLQueryResult> = { data?: Result; errors?: GraphQLResponseErrors; extensions?: Record; }; export type GraphQLResponseErrors = Array<{ message: string; locations?: { line: number; column: number; }[]; path?: (string | number)[]; }>; export declare class IotaClientGraphQLTransport implements IotaTransport { #private; constructor(options: IotaClientGraphQLTransportOptions); close(): void; graphqlQuery, Variables = Record, Data = Result>(options: GraphQLQueryOptions, getData?: (result: Result) => Data): Promise>; graphqlRequest, Variables = Record>(options: GraphQLQueryOptions): Promise; request(input: IotaTransportRequestOptions): Promise; subscribe(input: IotaTransportSubscribeOptions): Promise<() => Promise>; } //# sourceMappingURL=transport.d.ts.map