import type { AsyncOrSync, Builtin, UnionToIntersection } from "ts-essentials"; import type { DistributeValues } from "./types.js"; import type { PluginContext } from "./plugin.js"; export interface PrivateKeys { } export type PrivateKeys$ = keyof PrivateKeys; export type Private = Readonly>; export type HasPrivate

= { readonly [K in P]: Private; }[P]; type RevealPrivate0 = Omit & UnionToIntersection>; export type RevealPrivate = T extends Exclude ? T : RevealPrivate2; type RevealPrivate2 = T extends readonly (infer U)[] ? T extends U[] ? RevealPrivate[] : readonly RevealPrivate[] : RevealPrivate3; type RevealPrivate3 = T extends object ? { [K in keyof RevealPrivate0]: RevealPrivate[K]>; } : T; export declare function revealPrivate(context: PluginContext, args: As, func: (...args: { readonly [A in keyof As]: RevealPrivate; }) => R extends PromiseLike ? never : R, fallback: (error: unknown) => R extends PromiseLike ? never : R): R extends PromiseLike ? never : R; export declare function revealPrivateAsync(context: PluginContext, args: As, func: (...args: { readonly [A in keyof As]: RevealPrivate; }) => PromiseLike, fallback: (error: unknown) => AsyncOrSync): Promise; export {}; //# sourceMappingURL=private.d.ts.map