import { SdCacheService } from '@sd-angular/core/services/cache';
import { ISdPermissionConfiguration } from '../configurations';
import * as i0 from "@angular/core";
export declare class SdPermissionService {
    #private;
    private configuration;
    private cacheService;
    constructor(configuration: ISdPermissionConfiguration, cacheService: SdCacheService);
    loadPermissions: () => Promise<void>;
    hasPermission: (permission: string | string[]) => boolean;
    getToken: () => Promise<string | null | undefined>;
    decodeToken: <T>() => Promise<T | null>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdPermissionService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SdPermissionService>;
}
