import { DiscoveryApi, FetchApi } from '@backstage/core-plugin-api';
import { UnprocessedEntity } from '../types';
/**
 * {@link @backstage/core-plugin-api#ApiRef} for the {@link CatalogUnprocessedEntitiesApi}
 *
 * @public
 */
export declare const catalogUnprocessedEntitiesApiRef: import("@backstage/core-plugin-api").ApiRef<CatalogUnprocessedEntitiesApi>;
/**
 * Response expected by the {@link CatalogUnprocessedEntitiesApi}
 *
 * @public
 */
export type CatalogUnprocessedEntitiesApiResponse = {
    entities: UnprocessedEntity[];
};
/**
 * Interface for the CatalogUnprocessedEntitiesApi.
 *
 * @public
 */
export interface CatalogUnprocessedEntitiesApi {
    /**
     * Returns a list of entities with state 'pending'
     */
    pending(): Promise<CatalogUnprocessedEntitiesApiResponse>;
    /**
     * Returns a list of entities with state 'failed'
     */
    failed(): Promise<CatalogUnprocessedEntitiesApiResponse>;
    /**
     * Deletes an entity from the refresh_state table
     */
    delete(entityId: string): Promise<void>;
}
/**
 * Default API implementation for the Catalog Unprocessed Entities plugin
 *
 * @public
 */
export declare class CatalogUnprocessedEntitiesClient implements CatalogUnprocessedEntitiesApi {
    discovery: DiscoveryApi;
    fetchApi: FetchApi;
    constructor(discovery: DiscoveryApi, fetchApi: FetchApi);
    private fetch;
    pending(): Promise<CatalogUnprocessedEntitiesApiResponse>;
    failed(): Promise<CatalogUnprocessedEntitiesApiResponse>;
    delete(entityId: string): Promise<void>;
}
