import type { Logger } from 'ts-log'; import type { Primitive } from 'type-fest'; export interface Shutdown { shutdown(): void; } export declare type Awaited = T extends PromiseLike ? U : T; export declare type DeepPartial = T extends O | Primitive ? T : { [P in keyof T]?: DeepPartial; }; export interface Freeable { free: () => void; } export interface WithLogger { logger: Logger; } declare type Impossible = { [P in K]: never; }; export declare type NoExtraProperties = U & Impossible>; export declare type Cache = { get(key: string): Promise; set(key: string, value: T): Promise; }; export {}; //# sourceMappingURL=types.d.ts.map