/**
 * PZG Pro - Multi-Tenant Kit Generator
 * DMMF-based implementation for tenant safety utilities
 */
import { ProFeatureBase } from '../../core/ProFeatureBase';
export interface MultiTenantConfig {
    outputPath?: string;
    tenantField?: string;
    tenantType?: 'string' | 'number' | 'uuid';
    enforceMode?: 'strict' | 'warn' | 'log';
    autoInjectTenant?: boolean;
    generateMiddleware?: boolean;
    generatePrismaExtension?: boolean;
    supportedModels?: string[];
    excludeModels?: string[];
    enableGuards?: boolean;
}
export interface TenantModel {
    name: string;
    tenantField: string;
    tenantFields?: string[];
    tenantTypes?: ('string' | 'number' | 'uuid')[];
    operations: {
        findMany: boolean;
        findUnique: boolean;
        create: boolean;
        update: boolean;
        delete: boolean;
    };
}
export interface TenantRule {
    modelName: string;
    fieldName?: string;
    condition: string;
    enforceMode: 'strict' | 'warn' | 'log';
}
export declare class MultiTenantKitGenerator extends ProFeatureBase {
    private config;
    constructor(context: any, config?: MultiTenantConfig);
    protected getFeatureName(): string;
    protected generateFeature(): Promise<void>;
    private analyzeTenantModels;
    private findTenantFields;
    private isTenantField;
    private generateTenantAwareZodSchemas;
    private generateTenantZodSchemasCode;
    private generateTenantModelSchema;
    private generatePrismaMiddleware;
    private generatePrismaMiddlewareCode;
    private generatePrismaExtensions;
    private generatePrismaExtensionsCode;
    private generateTenantValidationUtils;
    private generateTenantValidationUtilsCode;
    private generateModelValidator;
    private generateTenantContextHelpers;
    private generateTenantContextHelpersCode;
    private generateTenantTypes;
    private generateTenantTypesCode;
    private generateMultiTenantDocumentation;
    private generateMultiTenantDocumentationContent;
}
