import { Entity } from '@backstage/catalog-model';
import { CatalogProcessorResult } from './processor';
import { EntityRelationSpec } from './common';
import { LocationSpec } from '@backstage/plugin-catalog-common';
/**
 * Factory functions for the standard processing result types.
 *
 * @public
 */
export declare const processingResult: Readonly<{
    /**
     * Associates a NotFoundError with the processing state of the current entity.
     */
    readonly notFoundError: (atLocation: LocationSpec, message: string) => CatalogProcessorResult;
    /**
     * Associates an InputError with the processing state of the current entity.
     */
    readonly inputError: (atLocation: LocationSpec, message: string) => CatalogProcessorResult;
    /**
     * Associates a general Error with the processing state of the current entity.
     */
    readonly generalError: (atLocation: LocationSpec, message: string) => CatalogProcessorResult;
    /**
     * Emits a location. In effect, this is analogous to emitting a Location kind
     * child entity. This is commonly used in discovery processors. Do not use
     * this while processing Location entities.
     */
    readonly location: (newLocation: LocationSpec) => CatalogProcessorResult;
    /**
     * Emits a child of the current entity, associated with a certain location.
     */
    readonly entity: (atLocation: LocationSpec, newEntity: Entity) => CatalogProcessorResult;
    /**
     * Emits a relation owned by the current entity. The relation does not have to
     * start or end at the current entity. The relation only lives for as long as
     * the current entity lives.
     */
    readonly relation: (spec: EntityRelationSpec) => CatalogProcessorResult;
    /**
     * Associates the given refresh key with the current entity. The effect of
     * this is that the entity will be marked for refresh when such requests are
     * made.
     */
    readonly refresh: (key: string) => CatalogProcessorResult;
}>;
