import { IdentityProviderUserPermission, IdentityProviderUserWithRoles } from "@kottster/common"; import { KottsterApp } from "../core/app"; import { Request } from "express"; /** * The base class for actions * @abstract */ export declare abstract class Action { protected readonly app: KottsterApp; constructor(app: KottsterApp); protected requiredPermissions: (keyof typeof IdentityProviderUserPermission)[]; executeWithCheckings(data: unknown, user?: IdentityProviderUserWithRoles, req?: Request): Promise; protected abstract execute(data: unknown, user?: IdentityProviderUserWithRoles, req?: Request): Promise; } /** * The base class for developer actions * @abstract */ export declare abstract class DevAction { protected readonly app: KottsterApp; constructor(app: KottsterApp); executeWithCheckings(data: unknown): Promise; protected abstract execute(data: unknown): Promise; }