import { NormalizedUrl } from '@autogram/url-tools'; import { UniqueUrl } from '../entities/unique-url.js'; import { UrlMutator } from '@autogram/url-tools/dist/source/mutators.js'; import { JsonMap } from '@salesforce/ts-types'; type ValidUniqueUrlInput = UniqueUrl | NormalizedUrl | string; /** * Behavioral options for a UniqueUrlSet */ export interface UniqueUrlSetOptions { /** * Keep a list of all URLs that were rejected as unparsable, for later reporting. * * @type {?boolean} */ keepUnparsable?: boolean; /** * A UrlMutator function to transform any parsed URLs. * * NOTE: This function *will not* be applied to NormalizedUrl and UniqueUrl objects, * on the assumption that they've both been normalized already. * * If no Mutator is specified, the default NormalizedUrl.normalizer will be used. */ normalizer?: UrlMutator; /** * If protocol-less URLs are passed in (www.example.com), automatially prepend * 'https' to them. */ guessProtocol?: boolean; /** * A dictionary of additional data to set on all UniqueUrl objects in the set. * This can be useful for bulk-transforming strings to UniqueUrls. * * NOTE: Values will be overwritten if the keys in userData already exist on * the UniqueUrl. * * @type {?JsonMap} */ userData?: JsonMap; } export declare class UniqueUrlSet extends Set { verifier: Set; unparsable: Set; keepUnparsable: boolean; normalizer: UrlMutator; guessProtocol: boolean; userData: JsonMap; constructor(input?: ValidUniqueUrlInput[] | ValidUniqueUrlInput, options?: UniqueUrlSetOptions); add(value: ValidUniqueUrlInput): this; has(value: ValidUniqueUrlInput): boolean; delete(value: ValidUniqueUrlInput): boolean; clear(): void; addItems(values: ValidUniqueUrlInput[]): this; protected parse(input: ValidUniqueUrlInput): UniqueUrl | false; } export {}; //# sourceMappingURL=unique-url-set.d.ts.map