import { GraphQLError } from "graphql"; import { APIErrorCode } from "../utils/api"; export type ConfigType = { URL?: string; TOKEN?: string; HEADERS?: Record; ON_ERROR?: OnErrorType; }; export type OnErrorType = { errorCodes?: ErrorCodeType[]; operations?: OperationType[]; }; export type ErrorCodeType = { errorCode: APIErrorCode; callback: (cb: CallbackType) => Promise | void; refreshQuery?: boolean; }; export type OperationType = { operationName: string; callback: (cb: CallbackType) => Promise | void; refreshQuery?: boolean; }; export type CallbackType = { graphQLErrors: GraphQLError[]; operationName: string; }; export default class Config { static URL: string; static TOKEN: string; static HEADERS: Record; static ON_ERROR: OnErrorType; }