/**
 * Fuzzy task search with minimal output.
 * @task T4460
 * @epic T4454
 */
import type { TaskStatus } from '@cleocode/contracts';
import type { NextDirectives } from '../mvi-helpers.js';
import type { DataAccessor } from '../store/data-accessor.js';
/** Minimal task info for search results. */
export interface FindResult {
    id: string;
    title: string;
    status: string;
    priority: string;
    type?: string;
    parentId?: string | null;
    score: number;
    /** Progressive disclosure directives for follow-up operations. */
    _next?: NextDirectives;
}
/** Options for finding tasks. */
export interface FindTasksOptions {
    query?: string;
    id?: string;
    exact?: boolean;
    status?: TaskStatus;
    field?: string;
    includeArchive?: boolean;
    limit?: number;
    offset?: number;
}
/** Result of finding tasks. */
export interface FindTasksResult {
    results: FindResult[];
    total: number;
    query: string;
    searchType: 'fuzzy' | 'id' | 'exact';
}
/**
 * Calculate fuzzy match score between query and text.
 * Higher score = better match. 0 = no match.
 * @task T4460
 */
export declare function fuzzyScore(query: string, text: string): number;
/**
 * Search tasks by fuzzy matching, ID prefix, or exact title.
 * Returns minimal fields only (context-efficient).
 * @task T4460
 */
export declare function findTasks(options: FindTasksOptions, cwd?: string, accessor?: DataAccessor): Promise<FindTasksResult>;
//# sourceMappingURL=find.d.ts.map