import { HttpResponse } from '@angular/common/http';
import { ClaimMap, StoreTokenConstructor, TokenExtractor } from '@terminus/ngx-tools/jwt';
import { Observable } from 'rxjs';
export interface ExtractTokenParams<C = ClaimMap> extends Partial<StoreTokenConstructor<C>> {
    tokenName: Extract<keyof C, string>;
}
export declare const TOKEN_NOT_FOUND: Error;
export declare class TokenExtractorMock<CM = ClaimMap> extends TokenExtractor {
    extractedTokens: string[];
    static forTestBed(): {
        provide: typeof TokenExtractor;
        useFactory: typeof tokenExtractorMockFactory;
    };
    extractJwtToken<T extends Object | HttpResponse<any>>({ tokenName, isDefaultToken }: ExtractTokenParams<CM>): (source: Observable<T>) => Observable<T>;
}
/**
 * Return mock
 */
export declare function tokenExtractorMockFactory(): TokenExtractorMock<ClaimMap>;
