import { HttpResponse } from '@angular/common/http';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { StoreTokenConstructor } from '../actions';
import { ClaimMap } from '../claim-map';
export interface ExtractTokenParams<C = ClaimMap> extends Partial<StoreTokenConstructor<C>> {
    tokenName: Extract<keyof C, string>;
}
export declare const TOKEN_NOT_FOUND_ERROR: Error;
export declare class TokenExtractor<CM = ClaimMap> {
    store: Store<any>;
    extractJwtToken<T extends Object | HttpResponse<any>>({ tokenName, isDefaultToken }: ExtractTokenParams<CM>): (source: Observable<T>) => Observable<T>;
    extractTokenFromResponse<T extends Object | HttpResponse<any>>(input: T): string;
    constructor(store: Store<any>);
}
