export type RandomOptions<T = any> = {
    includeUppercase?: boolean;
    includeLowercase?: boolean;
    includeNumbers?: boolean;
    includeSpecials?: boolean;
    customCharset?: string;
    min?: number;
    max?: number;
    step?: number;
    exclude?: (string | number | T)[];
    excludeRegex?: RegExp | RegExp[];
    filter?: (item: T | string | number) => boolean;
    probability?: Record<string, number>;
    distribution?: "uniform" | "normal" | "exponential" | "custom";
    distributionParams?: {
        mean?: number;
        stdDev?: number;
        lambda?: number;
        custom?: (x: number) => number;
    };
    length?: number;
    data?: T[];
    unique?: boolean;
    sort?: boolean | ((a: any, b: any) => number);
    format?: "string" | "array" | "object";
    formatTemplate?: string;
    prefix?: string;
    suffix?: string;
    seed?: number;
    groupBy?: number;
    mapFunction?: (value: any) => any;
    type?: "default" | "uuid" | "color" | "filename";
    uuidOptions?: {
        dashes?: boolean;
        version?: 4 | 1;
    };
    colorOptions?: {
        alpha?: boolean;
        format?: "hex" | "rgb" | "hsl";
        minBrightness?: number;
        maxBrightness?: number;
    };
    filenameOptions?: {
        extension?: string;
        includeTimestamp?: boolean;
        nameLength?: number;
    };
};
export declare const random: <T = any>(options?: RandomOptions<T>) => string | number | T | (string | number | T)[];
