import { EventEmitter } from '../stencil.core'; import { Connection } from './connections'; export interface CreateRestFetch { endpoints?: () => Connection; env?: () => 'local' | 'stage' | 'prod'; getAuthToken?: () => string | undefined; metrics?: () => boolean; onReady?: () => Promise; retries?: number; setAuthToken?: (token: string) => void; wait?: () => number; } interface RestFetchArguments { service: keyof Connection; endpoint: string; body?: object; options?: Omit; emitter?: EventEmitter; } declare type Success = undefined; export declare type RestFetch = (args: RestFetchArguments) => Promise; export declare function createRestFetch({ endpoints, env, wait, retries, getAuthToken, setAuthToken, onReady, }: CreateRestFetch): RestFetch; export {};