import { Adapter, EmptyTypes, QueryParamsType } from '@hyper-fetch/core'; import { DocumentNode } from 'graphql/language/ast'; export declare enum GraphqlMethod { POST = "POST", GET = "GET" } export type GraphQlExtraType = { headers: HeadersInit; extensions: Record; }; export type GraphQlEndpointType = string | DocumentNode; export type FetchGraphqlAdapterOptionsType = Omit & { timeout?: number; }; export type GraphqlAdapterType = Adapter string>; type GqlParamType = boolean | string | number | Record | EmptyTypes; export type ExtractGqlRouteParams = string extends T ? EmptyTypes : T extends `${string}query ${infer Parameters} {${infer QueryRest}` ? Parameters extends `${string}$${infer Param},${infer Rest}` ? GqlParameter & (ExtractGqlRouteParams extends EmptyTypes ? {} : ExtractGqlRouteParams) : Parameters extends `${string}$${infer Param})${infer Rest}` ? GqlParameter & (ExtractGqlRouteParams extends EmptyTypes ? {} : ExtractGqlRouteParams) : EmptyTypes : T extends `${string}$${infer Parameters},${infer Rest}` ? GqlParameter : T extends `${string}$${infer Parameters})${infer Rest}` ? GqlParameter : EmptyTypes; export type GqlParameter = T extends `${infer Param}:${string}!` ? { [k in Param]: GqlParamType; } & (ExtractGqlRouteParams extends EmptyTypes ? {} : ExtractGqlRouteParams) : T extends `${infer Param}:${string}` ? { [k in Param]?: GqlParamType; } & (ExtractGqlRouteParams extends EmptyTypes ? {} : ExtractGqlRouteParams) : EmptyTypes; export {}; //# sourceMappingURL=adapter.types.d.ts.map