import Observable from 'zen-observable-ts'; import { GraphQLRequest, NextLink, Operation, RequestHandler, FetchResult } from './types'; export declare const empty: () => ApolloLink; export declare const from: (links: ApolloLink[]) => ApolloLink; export declare const split: (test: (op: Operation) => boolean, left: ApolloLink | RequestHandler, right?: ApolloLink | RequestHandler) => ApolloLink; export declare const concat: (first: ApolloLink | RequestHandler, second: ApolloLink | RequestHandler) => ApolloLink; export declare class ApolloLink { constructor(request?: RequestHandler); static empty: () => ApolloLink; static from: (links: ApolloLink[]) => ApolloLink; static split: (test: (op: Operation) => boolean, left: ApolloLink | RequestHandler, right?: ApolloLink | RequestHandler) => ApolloLink; static execute: typeof execute; split(test: (op: Operation) => boolean, left: ApolloLink | RequestHandler, right?: ApolloLink | RequestHandler): ApolloLink; concat(next: ApolloLink | RequestHandler): ApolloLink; request(operation: Operation, forward?: NextLink): Observable<FetchResult> | null; } export declare function execute(link: ApolloLink, operation: GraphQLRequest): Observable<FetchResult>;