declare type ConsoleFunctionName = { [T in keyof Console]: Console[T] extends (...args: any[]) => any ? T : never; }[keyof Console]; export declare type MessageStore = any[][] | ((...args: any[]) => void); export declare type MessageStoreWithType = [ConsoleFunctionName, ...any[]][] | ((name: ConsoleFunctionName, ...args: any[]) => void); interface ResetMockConsole { (): void; messages: T; } interface MockConsoleFunction { (messageStore?: T): ResetMockConsole; } interface MockConsole extends Record>, MockConsoleFunction { } declare const _default: MockConsole; export default _default;