Files
outline/server/typings/cancan.d.ts
Tom Moor 15b1069bcc chore: Move to Typescript (#2783)
This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously.

closes #1282
2021-11-29 06:40:55 -08:00

36 lines
879 B
TypeScript

declare module "cancan" {
namespace CanCan {
interface Option {
instanceOf?: ((instance: any, model: any) => boolean) | undefined;
createError?: (() => any) | undefined;
}
}
class CanCan {
constructor(options?: CanCan.Option);
allow<T>(
model: any,
actions: string | ReadonlyArray<string>,
targets: T | ReadonlyArray<T> | string | ReadonlyArray<string>,
condition?:
| object
| ((performer: any, target: any, options?: any) => boolean)
): void;
can(performer: any, action: string, target: any, options?: any): boolean;
cannot(performer: any, action: string, target: any, options?: any): boolean;
authorize(performer: any, action: string, target: any, options?: any): void;
abilities: {
model: any;
action: string;
target: any;
}[];
}
export = CanCan;
}