import { IRLSContext } from '../interfaces'; /** * Row Level Security context manager * Enables multi-tenant security and user-based access control */ export declare class RLSContextManager { private context; /** * Set RLS context for current operation * Context is scoped to this manager instance * @param context - RLS context to set */ setContext(context: IRLSContext): void; /** * Get current RLS context * @returns Current context or null if not set */ getContext(): IRLSContext | null; /** * Clear RLS context */ clearContext(): void; /** * Execute function with RLS context * Restores previous context after execution * @template T - Return type of function * @param context - RLS context to use * @param fn - Function to execute * @returns Result of function execution */ withContext(context: IRLSContext, fn: () => Promise): Promise; /** * Generate PostgreSQL SET statements for RLS * These statements set session variables that can be used in RLS policies * @returns Array of SQL SET statements */ generateRLSStatements(): string[]; /** * Escape single quotes in values for SQL safety * @param value - Value to escape * @returns Escaped value */ private escapeValue; } //# sourceMappingURL=RLSContextManager.d.ts.map