/// <reference types="jquery" />
import { Permission, PermissionLevel } from '../index';
export declare const access: {
    /**
     * Loads all permissions from the given url to a client cache.
     * @param permissionsUrl The url to fetch the permissions from.
     */
    bootstrap(permissionsUrl: string): JQuery.Promise<any>;
    /**
     * Loads permissions from the main system using the url configuration of that {@link System}.
     */
    bootstrapSystem(): JQuery.Promise<void>;
    tearDown(): void;
    /**
     * Quick check (only local checks) `permission` against granted permissions of the current user.
     */
    quickCheck(permission: string | Permission): boolean;
    /**
     * Check `permission` against granted permissions of the current user.
     */
    check(permission: string | Permission): JQuery.Promise<boolean>;
    /**
     * Returns the granted {@link PermissionLevel} for a given permission instance `permission`.
     * - {@link Permission.Level.UNDEFINED} if `permission` is `null` or in general 'not an {@link Permission}'
     * - {@link Permission.Level.NONE} if no level at all is granted to `permission`
     * - {@link PermissionLevel} if the level can be determined exactly.
     * - {@link Permission.Level.UNDEFINED} if there are multiple granted permission levels possible and there is not enough data in the `permission` contained to determine the result closer.
     */
    getGrantedPermissionLevel(permission: string | Permission): PermissionLevel;
    getPermissionsUrl(): string;
};
//# sourceMappingURL=access.d.ts.map