import { GraphQLResult } from 'graphql';
import { MiddlewareInterface } from './middleware';
export interface Request {
    debugName?: string;
    query?: string;
    variables?: Object;
}
export interface NetworkInterface {
    query(request: Request): Promise<GraphQLResult>;
}
export interface HTTPNetworkInterface extends NetworkInterface {
    _uri: string;
    _opts: RequestInit;
    _middlewares: MiddlewareInterface[];
    use(middlewares: MiddlewareInterface[]): any;
}
export interface RequestAndOptions {
    request: Request;
    options: RequestInit;
}
export declare function createNetworkInterface(uri: string, opts?: RequestInit): HTTPNetworkInterface;
