export interface ILogger {
    info(message: string, ...meta: unknown[]): void;
    warn(message: string, ...meta: unknown[]): void;
    error(message: string, ...meta: unknown[]): void;
    debug(message: string, ...meta: unknown[]): void;
}
export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';
export declare class DefaultLogger implements ILogger {
    private level;
    constructor(level?: LogLevel);
    private shouldLog;
    info(message: string, ...meta: unknown[]): void;
    warn(message: string, ...meta: unknown[]): void;
    error(message: string, ...meta: unknown[]): void;
    debug(message: string, ...meta: unknown[]): void;
}
export interface IAMConfig {
    logger?: ILogger;
    logLevel?: LogLevel;
}
export declare function loadIAMConfig(options?: {
    file?: string;
} | {
    env?: Record<string, unknown>;
}): Partial<IAMConfig>;
//# sourceMappingURL=logger.d.ts.map