/**
 * Advanced Slug Management System for Epic 1: Universal MakerKit Core System
 * Comprehensive slug generation, validation, and collision handling for team accounts
 * Part of Task 1.5.3: Implement advanced slug management system for team accounts
 */
/**
 * Configuration options for slug generation
 */
export interface SlugGenerationOptions {
    maxLength?: number;
    allowNumbers?: boolean;
    allowHyphens?: boolean;
    forceLowercase?: boolean;
    addTimestamp?: boolean;
    customSeparator?: string;
    reservedSlugs?: string[];
    collisionStrategy?: 'increment' | 'timestamp' | 'random' | 'uuid';
}
/**
 * Result of slug validation operation
 */
export interface SlugValidationResult {
    isValid: boolean;
    normalizedSlug: string;
    issues: string[];
    suggestions: string[];
    collisionDetected: boolean;
    alternativeSlugs: string[];
}
/**
 * Slug collision resolution result
 */
export interface SlugCollisionResult {
    originalSlug: string;
    resolvedSlug: string;
    strategy: string;
    attempts: number;
    alternativesGenerated: string[];
}
/**
 * Advanced Slug Manager for MakerKit team accounts
 */
export declare class AdvancedSlugManager {
    private client?;
    private defaultOptions;
    constructor(client?: any);
    /**
     * Generate a unique slug for team accounts with comprehensive validation
     */
    generateUniqueSlug(baseName: string, tableName?: string, options?: Partial<SlugGenerationOptions>): Promise<string>;
    /**
     * Validate an existing slug and provide suggestions for improvement
     */
    validateSlug(slug: string, tableName?: string, options?: Partial<SlugGenerationOptions>): Promise<SlugValidationResult>;
    /**
     * Normalize a slug according to MakerKit standards
     */
    normalizeSlug(input: string, options: SlugGenerationOptions): string;
    /**
     * Check if a slug collides with existing records in the database
     */
    private checkSlugCollision;
    /**
     * Resolve slug collision using specified strategy
     */
    private resolveSlugCollision;
    /**
     * Validate slug format against rules
     */
    private validateSlugFormat;
    /**
     * Check if slug is reserved
     */
    private isReservedSlug;
    /**
     * Resolve reserved slug collision
     */
    private resolveReservedSlugCollision;
    /**
     * Generate alternative slugs for reserved conflicts
     */
    private generateAlternativeReservedSlugs;
    /**
     * Generate alternative slugs for database collisions
     */
    private generateAlternativeSlugs;
    /**
     * Generate suggestions for slug improvement
     */
    private generateSlugImprovementSuggestions;
    /**
     * Generate a short UUID-like string
     */
    private generateShortUuid;
    /**
     * Batch validate multiple slugs
     */
    batchValidateSlugs(slugs: string[], tableName?: string, options?: Partial<SlugGenerationOptions>): Promise<Map<string, SlugValidationResult>>;
    /**
     * Get slug generation statistics
     */
    getSlugStatistics(slugs: string[]): {
        averageLength: number;
        mostCommonPattern: string;
        reservedConflicts: number;
        formatIssues: number;
    };
}
/**
 * Utility functions for slug management
 */
export declare class SlugUtils {
    /**
     * Extract potential slug base from various data sources
     */
    static extractSlugBase(data: any): string;
    /**
     * Suggest slug based on business context
     */
    static suggestContextualSlug(data: any): string;
    /**
     * Check if slug follows MakerKit naming conventions
     */
    static followsMakerKitConventions(slug: string): boolean;
    /**
     * Convert various naming formats to slug format
     */
    static convertToSlugFormat(input: string, format: 'camelCase' | 'snake_case' | 'Title Case' | 'UPPER'): string;
}
export default AdvancedSlugManager;
//# sourceMappingURL=slug-management-system.d.ts.map