/**
 * Database Row Level Security (RLS) Tool
 *
 * Manages PostgreSQL Row Level Security policies and settings
 */
import { PostgreSQLManager } from "../database/postgres-manager";
export interface DatabaseRLSToolInput {
    action: "enableRLS" | "disableRLS" | "createPolicy" | "dropPolicy" | "listPolicies" | "testPolicy";
    schemaName: string;
    tableName: string;
    policyName?: string;
    command?: "SELECT" | "INSERT" | "UPDATE" | "DELETE" | "ALL";
    roles?: string[];
    using?: string;
    withCheck?: string;
    testUserId?: string;
    force?: boolean;
}
export interface DatabaseRLSToolResult {
    success: boolean;
    message?: string;
    data?: any;
    error?: string;
    executionTime: number;
    warnings?: string[];
}
export declare class DatabaseRLSTool {
    private dbManager;
    constructor(dbManager: PostgreSQLManager);
    execute(input: DatabaseRLSToolInput): Promise<DatabaseRLSToolResult>;
    private enableRLS;
    private disableRLS;
    private createPolicy;
    private dropPolicy;
    private listPolicies;
    private getPolicyDescription;
    private testPolicy;
    getDefinition(): {
        name: string;
        description: string;
        inputSchema: {
            type: string;
            properties: {
                action: {
                    type: string;
                    description: string;
                    enum: string[];
                };
                schemaName: {
                    type: string;
                    description: string;
                };
                tableName: {
                    type: string;
                    description: string;
                };
                policyName: {
                    type: string;
                    description: string;
                };
                command: {
                    type: string;
                    description: string;
                    enum: string[];
                    default: string;
                };
                roles: {
                    type: string;
                    description: string;
                    items: {
                        type: string;
                    };
                };
                using: {
                    type: string;
                    description: string;
                };
                withCheck: {
                    type: string;
                    description: string;
                };
                testUserId: {
                    type: string;
                    description: string;
                };
                force: {
                    type: string;
                    description: string;
                    default: boolean;
                };
            };
            required: string[];
        };
    };
}
//# sourceMappingURL=database-rls-tool.d.ts.map