export interface UseCanResult {
    allowed: boolean;
    loading: boolean;
    error?: Error;
}
export declare const canCache: {
    resolved: Map<string, boolean>;
    inflight: Map<string, Promise<boolean>>;
    clear(): void;
};
export declare function invalidateCanCache(): void;
export declare function checkCan(path: string, permission: string, resource?: string, csrfToken?: string, principal?: string): Promise<boolean>;
export declare function useCan(permission: string, resource?: string): UseCanResult;
