import 'whatwg-fetch'; export interface HasToken { token: string; } export declare type AuthOk = (token: string) => void; export declare type AuthHandler = (cb: AuthOk) => void; export declare type GetHandler = (location: string, opts?: any) => PromiseLike; export declare type PostHandler = (location: string, data: string) => PromiseLike; export declare function checkStatus(res: any): T; export declare function handler(raw: string): T; export interface Config { auth$$?: AuthHandler; get$$: GetHandler; post$$: PostHandler; } export declare class P { private url; private opts; private ih; private ah; handlers: any[]; cbFail: any; authOk: AuthOk | null; constructor(url: string, opts: any, ih: any, ah?: AuthHandler | undefined); then(resolve: any, reject: any): P; catch(reject: any): P; run(token?: string): void; fail(err: any): void; } export declare function setAuthHandler(handler: AuthHandler): void; export declare function post(location: string, data: string): PromiseLike; export declare function get(location: string, opts?: any): PromiseLike;