export declare abstract class ConfigVariable { abstract get Name(): string; abstract Value(option?: string): string; } export declare class DateTimeLogVariable extends ConfigVariable { get Name(): string; Value(option?: string): string; } export declare class DateLogVariable extends ConfigVariable { protected format?: string | undefined; constructor(format?: string | undefined); get Name(): string; Value(option?: string): string; } export declare class TimeLogVariable extends ConfigVariable { protected format?: string | undefined; constructor(format?: string | undefined); get Name(): string; Value(option?: string): string; } export declare class TimestampVariable extends ConfigVariable { get Name(): string; /** * @param option - 's' for unix seconds, otherwise milliseconds (default) */ Value(option?: string): string; } export declare class UtcDateTimeLogVariable extends ConfigVariable { get Name(): string; Value(option?: string): string; } export declare class UtcDateLogVariable extends ConfigVariable { get Name(): string; Value(option?: string): string; } export declare class UtcTimeLogVariable extends ConfigVariable { get Name(): string; Value(option?: string): string; } export interface IConfigVariable { [key: string]: unknown | (() => unknown); } export interface IConfiguStatiVariables { message?: string; } export type ConfVariables = IConfiguStatiVariables & IConfigVariable; /** * Formats layout by filling vars from customVars prop * eg `Hello world {datetime} {message}` will be formatted using values * from customVars * * NOTE: field message in custom vars will be formatted too. * * @param customVars - additional custom vars to look for, if it contains message field, it will format it too * @param layout - message layout * @returns */ export declare function format(customVars: ConfVariables | null, layout: string): string; //# sourceMappingURL=variables-common.d.ts.map