/**
 * Represents a service for managing and executing a pipeline of operations.
 * @template Service - The type of individual services to be registered in the pipeline.
 * @template Return - The type of the output produced by the pipeline execution.
 */
export interface IPipelineService<Service, Return> {
    /**
     * Registers services for pipeline processing.
     * @param {...Service[]} services - Services to be registered.
     */
    registerServices(...services: Service[]): void;
    /**
     * Executes the pipeline using template literals.
     * @param {TemplateStringsArray} strings - Template literal strings.
     * @param {...unknown} values - Interpolated values.
     * @returns {Return} Result of pipeline execution.
     */
    run(strings: TemplateStringsArray, ...values: unknown[]): Return;
}
