/**
 * Tùy chọn cho hàm tạo và xử lý slug
 */
export interface SlugOptions {
    /** Ký tự phân cách giữa các từ (mặc định: "-") */
    separator?: string;
    /** Chuyển đổi sang chữ thường (mặc định: true) */
    lowercase?: boolean;
    /** Loại bỏ dấu tiếng Việt (mặc định: true) */
    removeAccents?: boolean;
    /** Giới hạn độ dài slug (mặc định: 0 - không giới hạn) */
    maxLength?: number;
    /** Loại bỏ các ký tự không phải chữ và số (mặc định: true) */
    removeNonAlphanumeric?: boolean;
    /** Thay thế ký tự khoảng trắng (mặc định: true - dùng separator) */
    replaceWhitespace?: boolean;
    /** Xử lý các ký tự đặc biệt (mặc định: {}) */
    customReplacements?: Record<string, string>;
}
/**
 * Tạo slug từ chuỗi với nhiều tùy chọn
 *
 * @param input Chuỗi đầu vào cần chuyển thành slug
 * @param options Tùy chọn xử lý slug
 * @returns Chuỗi slug đã được xử lý
 *
 * @example
 * // Tạo slug cơ bản
 * createSlug("Hello World"); // "hello-world"
 *
 * // Xử lý tiếng Việt
 * createSlug("Chào Thế Giới"); // "chao-the-gioi"
 *
 * // Với tùy chọn
 * createSlug("Product Name (Version 2.0)", {
 *   separator: "_",
 *   maxLength: 20,
 *   customReplacements: { "2.0": "2-0" }
 * }); // "product_name_version"
 */
export declare function createSlug(input: string, options?: SlugOptions): string;
/**
 * Kiểm tra xem một chuỗi có phải slug hợp lệ không
 *
 * @param slug Chuỗi slug cần kiểm tra
 * @param pattern Mẫu regex tùy chỉnh (tùy chọn)
 * @returns true nếu là slug hợp lệ, false nếu không
 *
 * @example
 * isValidSlug("hello-world"); // true
 * isValidSlug("hello world"); // false
 * isValidSlug("product_123", /^[a-z0-9_]+$/); // true
 */
export declare function isValidSlug(slug: string, pattern?: RegExp): boolean;
/**
 * Tạo một slug duy nhất từ một chuỗi, thêm hậu tố số nếu cần
 *
 * @param input Chuỗi đầu vào
 * @param existingSlugs Mảng các slug đã tồn tại để kiểm tra trùng lặp
 * @param options Tùy chọn xử lý slug
 * @returns Slug duy nhất đã được xử lý
 *
 * @example
 * createUniqueSlug("Hello", ["hello", "hello-1"]); // "hello-2"
 */
export declare function createUniqueSlug(input: string, existingSlugs?: string[], options?: SlugOptions): string;
/**
 * Lấy một phần của slug, mặc định là phần cuối cùng
 *
 * @param slug Chuỗi slug cần xử lý
 * @param position Vị trí cần lấy (mặc định: 'last')
 * @param separator Ký tự phân cách (mặc định: "-")
 * @returns Phần của slug đã được xử lý
 *
 * @example
 * getSlugPart("blog/2023/post-title"); // "post-title"
 * getSlugPart("blog/2023/post-title", 'first', '/'); // "blog"
 * getSlugPart("blog/2023/post-title", 1, '/'); // "2023"
 */
export declare function getSlugPart(slug: string, position?: "first" | "last" | number, separator?: string): string;
