/**
 * @aedart/contracts
 * 
 * BSD-3-Clause, Copyright (c) 2023-present Alin Eugen Deac <aedart@gmail.com>.
 */

import { Container, Identifier } from '@aedart/contracts/container';

/**
 * Callback used to create a "spy" (e.g. mocked object), for testing purposes.
 */
type SpyFactoryCallback<T = any> = (container: Container, identifier: Identifier) => T;

/**
 * Support Facades identifier
 *
 * @type {Symbol}
 */
declare const SUPPORT_FACADES: unique symbol;

export { SUPPORT_FACADES, type SpyFactoryCallback };
