import type { DomainEntity } from '../instantiation/DomainEntity';
import type { DomainLiteral } from '../instantiation/DomainLiteral';
/**
 * get a uri safe slug which uniquely identifies this domain object
 *
 * features
 * - human scannable, for easy debugging
 * - file path and uri safe, for broad usage
 *
 * usecases
 * - persisting domain objects to a cache
 *
 * strategy
 * - define the human readable portion of the slug by concatenating the unique identifier values and omitting non-safe characters (safe = `\w`, `.`, `-`, `_`)
 * - define the identity uniqueness guarantee by using a sha1-uuid to guarantee that the total string will no have collisions due to excluding non-safe characters
 */
export declare const getUniqueIdentifierSlug: (dobj: DomainEntity<any> | DomainLiteral<any>) => string;
