import { DetailedResult } from '../base'; import { IReadOnlyResultMap, ResultMapResultDetail } from './readonlyResultMap'; import { ResultMapValueFactory } from './resultMap'; import { KeyValueConverters } from './keyValueConverters'; import { CollectibleFactoryCallback, CollectibleKey, ICollectible } from './collectible'; import { CollectorResultDetail } from './collector'; import { ConvertingCollector } from './convertingCollector'; import { IReadOnlyCollectorValidator } from './collectorValidator'; /** * Parameters for constructing a {@link Collections.ConvertingCollectorValidator | ConvertingCollectorValidator}. * @public */ export interface IConvertingCollectorValidatorCreateParams, TSRC = TITEM> { collector: ConvertingCollector; converters: KeyValueConverters, TSRC>; } /** * A {@link Collections.ConvertingCollector | ConvertingCollector} wrapper which validates weakly-typed keys * and values before calling the wrapped collector. Unlike the basic {@link Collections.CollectorValidator | CollectorValidator}, * the converting collector expects the items to be in the source type of the converting collector, not the target type. * @public */ export declare class ConvertingCollectorValidator, TSRC = TITEM> implements IReadOnlyCollectorValidator { readonly converters: KeyValueConverters, TSRC>; get map(): IReadOnlyResultMap, TITEM>; protected _collector: ConvertingCollector; /** * Constructs a new {@link Collections.ConvertingCollectorValidator | ConvertingCollectorValidator}. * @param params - Required parameters for constructing the collector validator. */ constructor(params: IConvertingCollectorValidatorCreateParams); /** * {@inheritdoc Collections.ConvertingCollector.(add:1)} */ add(key: string, value: unknown): DetailedResult; /** * {@inheritdoc Collections.ConvertingCollector.(add:2)} */ add(key: string, factory: ResultMapValueFactory, TITEM>): DetailedResult; /** * {@inheritdoc Collections.Collector.get} */ get(key: string): DetailedResult; /** * {@inheritdoc Collections.ConvertingCollector.(getOrAdd:3)} */ getOrAdd(key: string, value: unknown): DetailedResult; /** * {@inheritdoc Collections.Collector.(getOrAdd:2)} */ getOrAdd(key: string, factory: ResultMapValueFactory, TITEM>): DetailedResult; /** * {@inheritdoc Collections.ResultMap.has} */ has(key: string): boolean; /** * {@inheritdoc Collections.Collector.toReadOnly} */ toReadOnly(): IReadOnlyCollectorValidator; /** * Determines if a value is a {@link Collections.CollectibleFactoryCallback | CollectibleFactoryCallback}. * @param value - The value to check. * @returns `true` if the value is a {@link Collections.CollectibleFactoryCallback | CollectibleFactoryCallback}, * `false` otherwise. * @public */ protected _isCollectibleFactoryCallback(value: unknown | CollectibleFactoryCallback): value is CollectibleFactoryCallback; } //# sourceMappingURL=convertingCollectorValidator.d.ts.map