import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSManagedObject } from "./NSManagedObject.js";
import type { _NSManagedObjectModel } from "./NSManagedObjectModel.js";
import type { _NSPersistentStoreCoordinator } from "./NSPersistentStoreCoordinator.js";
import type { _NSPersistentStoreDescription } from "./NSPersistentStoreDescription.js";
import type { _CSSearchableIndex } from "../CoreSpotlight/CSSearchableIndex.js";
import type { _CSSearchableItemAttributeSet } from "../CoreSpotlight/CSSearchableItemAttributeSet.js";
export declare class _NSCoreDataCoreSpotlightDelegate extends _NSObject {
    static alloc(): _NSCoreDataCoreSpotlightDelegate;
    static new(): _NSCoreDataCoreSpotlightDelegate;
    init(): _NSCoreDataCoreSpotlightDelegate;
    /** CoreSpotlight domain identifer; default is the store's identifier */
    domainIdentifier(): _NSString;
    /** CoreSpotlight index name; default nil */
    indexName(): _NSString | null;
    /**
     * Designated initializer for NSCoreDataCoreSpotlightDelegate. If this method is used to create the object, -[NSCoreDataCoreSpotlightDelegate startSpotlightIndexing] must be called for the delegate to begin indexing. NSCoreDataSpotlightDelegate requires that - the store type is NSSQLiteStoreType. - the store has persistent history tracking enabled.
     * @deprecated initForStoreWithDescription:coordinator:
     */
    initForStoreWithDescription$coordinator$(description: _NSPersistentStoreDescription, psc: _NSPersistentStoreCoordinator): _NSCoreDataCoreSpotlightDelegate;
    /** @deprecated initForStoreWithDescription:coordinator: */
    initForStoreWithDescription$model$(description: _NSPersistentStoreDescription, model: _NSManagedObjectModel): _NSCoreDataCoreSpotlightDelegate;
    /** Starts Spotlight indexing. */
    startSpotlightIndexing(): void;
    /** Stops Spotlight indexing. */
    stopSpotlightIndexing(): void;
    /**
     * Deletes all searchable items for the configured Spotlight index. Calling this method may return errors from lower layer dependencies, such as Core Data and Core Spotlight.
     */
    deleteSpotlightIndexWithCompletionHandler$(completionHandler: ((error: _NSError) => void) | null): void;
    /**
     * Create the searchable attributes for the managed object. Override to return nil if you do not want the object included in the index.
     */
    attributeSetForObject$(object_: _NSManagedObject): _CSSearchableItemAttributeSet | null;
    /** CSSearchableIndexDelegate conformance */
    searchableIndex$reindexAllSearchableItemsWithAcknowledgementHandler$(searchableIndex: _CSSearchableIndex, acknowledgementHandler: () => void): void;
    searchableIndex$reindexSearchableItemsWithIdentifiers$acknowledgementHandler$(searchableIndex: _CSSearchableIndex, identifiers: _NSArray, acknowledgementHandler: () => void): void;
    /** Returns if indexing is enabled or not. */
    indexingEnabled(): boolean;
}
