export declare enum CrudAction {
    Create = "create",
    Read = "read",
    Update = "update",
    Delete = "delete",
    All = "*"
}
export declare enum Resource {
    EventType = "eventType",
    Booking = "booking",
    Team = "team",
    Organization = "organization",
    Insights = "insights",
    Availability = "availability",
    Workflow = "workflow",
    RoutingForm = "routingForm",
    ApiKey = "apiKey",
    All = "*"
}
export declare enum CustomAction {
    Manage = "manage",// Full control over a resource
    Invite = "invite",// Invite members to team/org
    Remove = "remove",// Remove members from team/org
    Override = "override",// Override availability
    ReadRecordings = "readRecordings",// Access booking recordings
    ManageBilling = "manageBilling",// Manage org billing
    ChangeMemberRole = "changeMemberRole",// Change role of team members
    ListMembers = "listMembers",// List organization members
    ReadTeamBookings = "readTeamBookings",// Read team bookings
    ReadOrgBookings = "readOrgBookings",// Read organization bookings
    FindKeyOfType = "findKeyOfType",// Find API keys by type
    All = "*"
}
export type CrudScope = `${Resource}.${CrudAction}` | `${Resource}.*` | `*.*`;
export type CustomScope = `${Resource}.${CustomAction}` | `${Resource}.*` | `*.*`;
export type PermissionString = CrudScope | CustomScope;
export type PermissionDetails = {
    description: string;
    category: string;
};
export type ResourcePermissions = {
    [K in CrudAction | CustomAction]?: PermissionDetails;
};
export type PermissionRegistry = {
    [K in Resource]: ResourcePermissions;
};
export declare const PERMISSION_REGISTRY: PermissionRegistry;
//# sourceMappingURL=permission-registry.d.ts.map