/**
 * Constants inlined from @mastra/core to avoid import compatibility
 * issues with older core versions that don't export them yet.
 *
 * - Reserved RequestContext keys are inlined from @mastra/core/request-context.
 * - Workspace tool constants are inlined from @mastra/core/workspace.
 */
export declare const MASTRA_RESOURCE_ID_KEY = "mastra__resourceId";
export declare const MASTRA_THREAD_ID_KEY = "mastra__threadId";
export declare const MASTRA_AUTH_TOKEN_KEY = "mastra__authToken";
export declare const MASTRA_IS_STUDIO_KEY = "mastra__isStudio";
export declare const MASTRA_CLIENT_TYPE_HEADER = "x-mastra-client-type";
export declare const MASTRA_STUDIO_CLIENT_TYPE = "studio";
export declare function isReservedRequestContextKey(key: string): boolean;
export declare function isStudioClientTypeHeader(value: string | undefined): boolean;
export declare const WORKSPACE_TOOLS_PREFIX: "mastra_workspace";
export declare const WORKSPACE_TOOLS: {
    readonly FILESYSTEM: {
        readonly READ_FILE: "mastra_workspace_read_file";
        readonly WRITE_FILE: "mastra_workspace_write_file";
        readonly EDIT_FILE: "mastra_workspace_edit_file";
        readonly LIST_FILES: "mastra_workspace_list_files";
        readonly DELETE: "mastra_workspace_delete";
        readonly FILE_STAT: "mastra_workspace_file_stat";
        readonly MKDIR: "mastra_workspace_mkdir";
        readonly GREP: "mastra_workspace_grep";
    };
    readonly SANDBOX: {
        readonly EXECUTE_COMMAND: "mastra_workspace_execute_command";
    };
    readonly SEARCH: {
        readonly SEARCH: "mastra_workspace_search";
        readonly INDEX: "mastra_workspace_index";
    };
};
export type WorkspaceToolName = (typeof WORKSPACE_TOOLS.FILESYSTEM)[keyof typeof WORKSPACE_TOOLS.FILESYSTEM] | (typeof WORKSPACE_TOOLS.SEARCH)[keyof typeof WORKSPACE_TOOLS.SEARCH] | (typeof WORKSPACE_TOOLS.SANDBOX)[keyof typeof WORKSPACE_TOOLS.SANDBOX];
/**
 * A tool config value that may be a static boolean or a dynamic function.
 * Inlined from @mastra/core/workspace for compatibility.
 *
 * Uses `(...args: any[]) => any` for the function branch so it stays
 * assignable from all core context variants (ToolConfigContext,
 * ToolConfigWithArgsContext) without importing them.
 */
type DynamicToolConfigValue = boolean | ((...args: any[]) => any);
/**
 * Configuration for a single workspace tool.
 */
export interface WorkspaceToolConfig {
    enabled?: DynamicToolConfigValue;
    requireApproval?: DynamicToolConfigValue;
    requireReadBeforeWrite?: DynamicToolConfigValue;
}
/**
 * Configuration for workspace tools.
 */
export type WorkspaceToolsConfig = {
    enabled?: DynamicToolConfigValue;
    requireApproval?: DynamicToolConfigValue;
} & Partial<Record<WorkspaceToolName, WorkspaceToolConfig>>;
/**
 * Resolve the effective configuration for a workspace tool.
 * Inlined from @mastra/core/workspace for compatibility.
 *
 * Dynamic function values are resolved by calling them with the provided
 * workspace and requestContext. If a function throws, safe defaults are used
 * (enabled → false, requireApproval → true, requireReadBeforeWrite → true).
 */
export declare function resolveToolConfig(toolsConfig: WorkspaceToolsConfig | undefined, toolName: WorkspaceToolName, context?: {
    workspace: object;
    requestContext: Record<string, unknown>;
}): Promise<{
    enabled: boolean;
    requireApproval: boolean;
    requireReadBeforeWrite?: boolean;
}>;
export {};
//# sourceMappingURL=constants.d.ts.map