/**
 * AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
 *
 * This file is generated by packages/server/scripts/generate-permissions.ts
 * Run `pnpm generate:permissions` from packages/server to regenerate.
 *
 * Source of truth: SERVER_ROUTES in @mastra/server
 */
/**
 * All known API resources.
 * Derived from SERVER_ROUTES paths in @mastra/server.
 */
export declare const RESOURCES: readonly ["a2a", "agent-builder", "agents", "background-tasks", "channels", "datasets", "embedders", "experiments", "logs", "mcp", "memory", "observability", "processor-providers", "processors", "scores", "stored", "stored-agents", "system", "tool-providers", "tools", "vector", "vectors", "workflows", "workspaces"];
/**
 * Resource type union.
 */
export type Resource = (typeof RESOURCES)[number];
/**
 * All permission actions.
 * Derived from HTTP methods and route overrides:
 * - GET → read
 * - POST → write or execute (context-dependent)
 * - PUT/PATCH → write
 * - DELETE → delete
 * - Additional actions from explicit requiresPermission overrides
 */
export declare const ACTIONS: readonly ["create", "delete", "execute", "read", "write"];
/**
 * Action type union.
 */
export type Action = (typeof ACTIONS)[number];
/**
 * All valid permission patterns.
 * Use `keyof typeof PERMISSION_PATTERNS` or the `PermissionPattern` type.
 */
export declare const PERMISSION_PATTERNS: {
    /** Full access to all resources and actions */
    readonly '*': "*";
    /** create all resources */
    readonly '*:create': "*:create";
    /** Delete all resources */
    readonly '*:delete': "*:delete";
    /** Execute all resources */
    readonly '*:execute': "*:execute";
    /** View all resources */
    readonly '*:read': "*:read";
    /** Create and modify all resources */
    readonly '*:write': "*:write";
    /** Full access to agent-to-agent communication */
    readonly 'a2a:*': "a2a:*";
    /** Full access to agent builder */
    readonly 'agent-builder:*': "agent-builder:*";
    /** Full access to agents */
    readonly 'agents:*': "agents:*";
    /** Full access to background-tasks */
    readonly 'background-tasks:*': "background-tasks:*";
    /** Full access to channels */
    readonly 'channels:*': "channels:*";
    /** Full access to datasets */
    readonly 'datasets:*': "datasets:*";
    /** Full access to embedders */
    readonly 'embedders:*': "embedders:*";
    /** Full access to experiments */
    readonly 'experiments:*': "experiments:*";
    /** Full access to logs */
    readonly 'logs:*': "logs:*";
    /** Full access to MCP servers */
    readonly 'mcp:*': "mcp:*";
    /** Full access to memory and threads */
    readonly 'memory:*': "memory:*";
    /** Full access to traces and spans */
    readonly 'observability:*': "observability:*";
    /** Full access to processor-providers */
    readonly 'processor-providers:*': "processor-providers:*";
    /** Full access to processors */
    readonly 'processors:*': "processors:*";
    /** Full access to evaluation scores */
    readonly 'scores:*': "scores:*";
    /** Full access to stored */
    readonly 'stored:*': "stored:*";
    /** Full access to stored agents */
    readonly 'stored-agents:*': "stored-agents:*";
    /** Full access to system info */
    readonly 'system:*': "system:*";
    /** Full access to tool-providers */
    readonly 'tool-providers:*': "tool-providers:*";
    /** Full access to tools */
    readonly 'tools:*': "tools:*";
    /** Full access to vector stores */
    readonly 'vector:*': "vector:*";
    /** Full access to vectors */
    readonly 'vectors:*': "vectors:*";
    /** Full access to workflows */
    readonly 'workflows:*': "workflows:*";
    /** Full access to workspaces */
    readonly 'workspaces:*': "workspaces:*";
    /** View agent-to-agent communication */
    readonly 'a2a:read': "a2a:read";
    /** Create and modify agent-to-agent communication */
    readonly 'a2a:write': "a2a:write";
    /** Execute agent builder */
    readonly 'agent-builder:execute': "agent-builder:execute";
    /** View agent builder */
    readonly 'agent-builder:read': "agent-builder:read";
    /** Create and modify agent builder */
    readonly 'agent-builder:write': "agent-builder:write";
    /** create agents */
    readonly 'agents:create': "agents:create";
    /** Delete agents */
    readonly 'agents:delete': "agents:delete";
    /** Execute agents */
    readonly 'agents:execute': "agents:execute";
    /** View agents */
    readonly 'agents:read': "agents:read";
    /** Create and modify agents */
    readonly 'agents:write': "agents:write";
    /** View background-tasks */
    readonly 'background-tasks:read': "background-tasks:read";
    /** View channels */
    readonly 'channels:read': "channels:read";
    /** Create and modify channels */
    readonly 'channels:write': "channels:write";
    /** Delete datasets */
    readonly 'datasets:delete': "datasets:delete";
    /** Execute datasets */
    readonly 'datasets:execute': "datasets:execute";
    /** View datasets */
    readonly 'datasets:read': "datasets:read";
    /** Create and modify datasets */
    readonly 'datasets:write': "datasets:write";
    /** View embedders */
    readonly 'embedders:read': "embedders:read";
    /** View experiments */
    readonly 'experiments:read': "experiments:read";
    /** View logs */
    readonly 'logs:read': "logs:read";
    /** Execute MCP servers */
    readonly 'mcp:execute': "mcp:execute";
    /** View MCP servers */
    readonly 'mcp:read': "mcp:read";
    /** Create and modify MCP servers */
    readonly 'mcp:write': "mcp:write";
    /** Delete memory and threads */
    readonly 'memory:delete': "memory:delete";
    /** Execute memory and threads */
    readonly 'memory:execute': "memory:execute";
    /** View memory and threads */
    readonly 'memory:read': "memory:read";
    /** Create and modify memory and threads */
    readonly 'memory:write': "memory:write";
    /** View traces and spans */
    readonly 'observability:read': "observability:read";
    /** Create and modify traces and spans */
    readonly 'observability:write': "observability:write";
    /** View processor-providers */
    readonly 'processor-providers:read': "processor-providers:read";
    /** Execute processors */
    readonly 'processors:execute': "processors:execute";
    /** View processors */
    readonly 'processors:read': "processors:read";
    /** View evaluation scores */
    readonly 'scores:read': "scores:read";
    /** Create and modify evaluation scores */
    readonly 'scores:write': "scores:write";
    /** Delete stored agents */
    readonly 'stored-agents:delete': "stored-agents:delete";
    /** View stored agents */
    readonly 'stored-agents:read': "stored-agents:read";
    /** Create and modify stored agents */
    readonly 'stored-agents:write': "stored-agents:write";
    /** Delete stored */
    readonly 'stored:delete': "stored:delete";
    /** View stored */
    readonly 'stored:read': "stored:read";
    /** Create and modify stored */
    readonly 'stored:write': "stored:write";
    /** View system info */
    readonly 'system:read': "system:read";
    /** View tool-providers */
    readonly 'tool-providers:read': "tool-providers:read";
    /** Execute tools */
    readonly 'tools:execute': "tools:execute";
    /** View tools */
    readonly 'tools:read': "tools:read";
    /** Delete vector stores */
    readonly 'vector:delete': "vector:delete";
    /** Execute vector stores */
    readonly 'vector:execute': "vector:execute";
    /** View vector stores */
    readonly 'vector:read': "vector:read";
    /** Create and modify vector stores */
    readonly 'vector:write': "vector:write";
    /** View vectors */
    readonly 'vectors:read': "vectors:read";
    /** Delete workflows */
    readonly 'workflows:delete': "workflows:delete";
    /** Execute workflows */
    readonly 'workflows:execute': "workflows:execute";
    /** View workflows */
    readonly 'workflows:read': "workflows:read";
    /** Create and modify workflows */
    readonly 'workflows:write': "workflows:write";
    /** Delete workspaces */
    readonly 'workspaces:delete': "workspaces:delete";
    /** View workspaces */
    readonly 'workspaces:read': "workspaces:read";
    /** Create and modify workspaces */
    readonly 'workspaces:write': "workspaces:write";
};
/**
 * Permission pattern that can be used in role definitions.
 * Supports:
 * - Specific permissions: 'agents:read', 'workflows:execute'
 * - Resource wildcards: 'agents:*', 'workflows:*' (all actions on a resource)
 * - Action wildcards: '*:read', '*:write' (an action across all resources)
 * - Global wildcard: '*' (full access)
 */
export type PermissionPattern = keyof typeof PERMISSION_PATTERNS;
/**
 * All valid resource:action permission combinations (excludes wildcards).
 */
export declare const PERMISSIONS: readonly ["a2a:read", "a2a:write", "agent-builder:execute", "agent-builder:read", "agent-builder:write", "agents:create", "agents:delete", "agents:execute", "agents:read", "agents:write", "background-tasks:read", "channels:read", "channels:write", "datasets:delete", "datasets:execute", "datasets:read", "datasets:write", "embedders:read", "experiments:read", "logs:read", "mcp:execute", "mcp:read", "mcp:write", "memory:delete", "memory:execute", "memory:read", "memory:write", "observability:read", "observability:write", "processor-providers:read", "processors:execute", "processors:read", "scores:read", "scores:write", "stored-agents:delete", "stored-agents:read", "stored-agents:write", "stored:delete", "stored:read", "stored:write", "system:read", "tool-providers:read", "tools:execute", "tools:read", "vector:delete", "vector:execute", "vector:read", "vector:write", "vectors:read", "workflows:delete", "workflows:execute", "workflows:read", "workflows:write", "workspaces:delete", "workspaces:read", "workspaces:write"];
/**
 * Specific permission type (e.g., 'agents:read', 'workflows:execute').
 */
export type Permission = (typeof PERMISSIONS)[number];
/**
 * Type-safe role mapping configuration.
 *
 * Maps role names (from your identity provider) to Mastra permission patterns.
 *
 * @example
 * ```typescript
 * const roleMapping: TypedRoleMapping = {
 *   "Engineering": ["agents:*", "workflows:*"],
 *   "Product": ["agents:read", "workflows:read"],
 *   "Admin": ["*"],
 *   "_default": [],
 * };
 * ```
 */
export type TypedRoleMapping = {
    [role: string]: PermissionPattern[];
};
/**
 * Validates that a string is a valid permission pattern.
 * Useful for runtime validation of permission strings.
 */
export declare function isValidPermissionPattern(pattern: string): pattern is PermissionPattern;
/**
 * Validates that all permissions in an array are valid patterns.
 */
export declare function validatePermissions(permissions: string[]): permissions is PermissionPattern[];
//# sourceMappingURL=permissions.generated.d.ts.map