/** * Base policy to define custom bouncer policies. All policies should * extend this class to inherit the action metadata system. * * @example * ```js * class PostPolicy extends BasePolicy { * @allowGuest() * view(user, post) { * return post.isPublished * } * * edit(user, post) { * return user.id === post.authorId * } * } * ``` */ export declare abstract class BasePolicy { /** * Whether the policy class has been booted */ static booted: boolean; /** * Metadata for policy actions, including guest access permissions */ static actionsMetaData: Record; /** * Initialize the policy class and set up action metadata inheritance */ static boot(): void; /** * Set metadata for a action name * * @param actionName Name of the policy action method * @param options Configuration options for the action */ static setActionMetaData(actionName: string, options: { allowGuest: boolean; }): void; }