import type { UmbDocumentSearchItemModel, UmbDocumentSearchRequestArgs } from './types.js';
import type { UmbSearchProvider } from '../../../core/search/index.js';
import { UmbControllerBase } from '../../../../libs/class-api/index.js';
import type { UmbPagedModel, UmbRepositoryResponse } from '../../../core/repository/index.js';
/**
 * The document search provider
 * @class UmbDocumentSearchProvider
 * @augments {UmbControllerBase}
 * @implements {UmbSearchProvider<UmbDocumentSearchItemModel, UmbDocumentSearchRequestArgs>}
 */
export declare class UmbDocumentSearchProvider extends UmbControllerBase implements UmbSearchProvider<UmbDocumentSearchItemModel, UmbDocumentSearchRequestArgs> {
    #private;
    /**
     * Search for documents
     * @param {UmbDocumentSearchRequestArgs} args - The arguments for the search
     * @returns {Promise<UmbRepositoryResponse<UmbPagedModel<UmbDocumentSearchItemModel>>>} - The search results
     * @memberof UmbDocumentSearchProvider
     */
    search(args: UmbDocumentSearchRequestArgs): Promise<UmbRepositoryResponse<UmbPagedModel<UmbDocumentSearchItemModel>>>;
    destroy(): void;
}
export { UmbDocumentSearchProvider as api };
