import { colors_d_exports } from "./colors.js";
import { CustomIntlayerConfig, IntlayerConfig } from "@intlayer/types/config";
import { Locale } from "@intlayer/types/allLocales";

//#region src/logger.d.ts
type ANSIColorsType = (typeof colors_d_exports)[keyof typeof colors_d_exports];
type Details = {
  isVerbose?: boolean;
  level?: 'info' | 'warn' | 'error' | 'debug';
  config?: CustomIntlayerConfig['log'];
};
type Logger = (content: any, details?: Details) => void;
declare const setPrefix: (prefix: string | undefined) => void;
declare const getPrefix: (configPrefix?: string) => string | undefined;
declare const logger: Logger;
declare const spinnerFrames: string[];
/**
 * The appLogger function takes the logger and merges it with the configuration from the intlayer config file.
 * It allows overriding the default configuration by passing a config object in the details parameter.
 * The configuration is merged with the default configuration from the intlayer config file.
 */
declare const getAppLogger: (configuration?: Pick<IntlayerConfig, "log">, globalDetails?: Details) => (content: any, details?: Details) => void;
declare const colorize: (string: string, color?: ANSIColorsType, reset?: boolean | ANSIColorsType) => string;
declare const colorizeLocales: (locales: Locale | Locale[], color?: ANSIColorsType, reset?: boolean | ANSIColorsType) => string;
declare const colorizeKey: (keyPath: string | string[], color?: ANSIColorsType, reset?: boolean | ANSIColorsType) => string;
declare const colorizePath: (path: string | string[], color?: ANSIColorsType, reset?: boolean | ANSIColorsType) => string;
declare const colorizeNumber: (number: number | string, options?: Partial<Record<Intl.LDMLPluralRule, ANSIColorsType>>) => string;
declare const colorizeObject: (obj: any, indentLevel?: number, indentSize?: number, key?: string) => string;
declare const removeColor: (text: string) => string;
/**
 * Create a string of spaces of a given length.
 *
 * @param colSize - The length of the string to create.
 * @returns A string of spaces.
 */
declare const colon: (text: string | string[], options?: {
  colSize?: number | number[] | string | string[];
  minSize?: number;
  maxSize?: number;
  pad?: "left" | "right";
  padChar?: string;
}) => string;
declare const x: string;
declare const v: string;
declare const clock: string;
//#endregion
export { ANSIColorsType, Details, Logger, clock, colon, colorize, colorizeKey, colorizeLocales, colorizeNumber, colorizeObject, colorizePath, getAppLogger, getPrefix, logger, removeColor, setPrefix, spinnerFrames, v, x };
//# sourceMappingURL=logger.d.ts.map