interface CreateGraphqlFetch { endpoint?: () => string; env?: () => 'local' | 'stage' | 'prod'; getAuthToken?: () => string | undefined; metrics?: () => boolean; onReady?: () => Promise; retries?: number; setAuthToken?: (token: string) => void; wait?: () => number; } declare type GraphqlRequest = { mutation: string; variables?: { [key: string]: unknown; }; } | { query: string; variables?: { [key: string]: unknown; }; }; declare type GraphqlArgs = GraphqlRequest & { element: HTMLElement; }; export interface GraphqlError { message: string; locations?: { line: number; column: number; }[]; path?: string; extensions?: { type?: string; }; } export interface GraphqlResponseBody { data: GraphqlData | null; errors?: GraphqlError[]; } export declare type GraphqlFetch = (args: GraphqlArgs) => Promise>; export declare function createGraphqlFetch({ endpoint, env, metrics, getAuthToken, onReady, retries, setAuthToken, wait, }: CreateGraphqlFetch): GraphqlFetch; export {};