import { type ClassElementMetadata } from '../models/ClassElementMetadata.js'; import { type ManagedClassElementMetadata } from '../models/ManagedClassElementMetadata.js'; import { type MaybeClassElementMetadata } from '../models/MaybeClassElementMetadata.js'; import { type MaybeManagedClassElementMetadata } from '../models/MaybeManagedClassElementMetadata.js'; type Or = T extends [infer First, ...infer Rest] ? First | Or : never; type BuildDefaultMetadataFunction = TParams extends [ infer First extends unknown[], ...infer Rest extends unknown[][] ] ? ((...params: First) => TResult) & BuildDefaultMetadataFunction : (...params: any[]) => TResult; type BuildMetadataFromMaybeManagedMetadataFunction = TParams extends [ infer First extends unknown[], ...infer Rest extends unknown[][] ] ? ((metadata: MaybeManagedClassElementMetadata | ManagedClassElementMetadata, ...params: First) => TResult) & BuildMetadataFromMaybeManagedMetadataFunction : (metadata: MaybeManagedClassElementMetadata | ManagedClassElementMetadata, ...params: any[]) => TResult; export declare function buildClassElementMetadataFromMaybeClassElementMetadata(buildDefaultMetadata: BuildDefaultMetadataFunction, buildMetadataFromMaybeManagedMetadata: BuildMetadataFromMaybeManagedMetadataFunction): (...params: Or) => (metadata: MaybeClassElementMetadata | undefined) => ClassElementMetadata; export {}; //# sourceMappingURL=buildClassElementMetadataFromMaybeClassElementMetadata.d.ts.map