/**
 * Task listing with filters.
 * @task T4460
 * @epic T4454
 */
import type { Task, TaskPriority, TaskStatus, TaskType } from '@cleocode/contracts';
import type { LAFSPage } from '@cleocode/lafs';
import type { NextDirectives } from '../mvi-helpers.js';
import type { DataAccessor } from '../store/data-accessor.js';
/** Compact task representation — minimal fields for MCP list responses. */
export interface CompactTask {
    id: string;
    title: string;
    status: string;
    priority: string;
    type?: string;
    parentId?: string | null;
    /** Progressive disclosure directives for follow-up operations. */
    _next?: NextDirectives;
}
/** Convert a full Task to compact representation with _next directives. */
export declare function toCompact(task: Task): CompactTask;
/** Filter options for listing tasks. */
export interface ListTasksOptions {
    status?: TaskStatus;
    priority?: TaskPriority;
    type?: TaskType;
    parentId?: string;
    phase?: string;
    label?: string;
    children?: boolean;
    limit?: number;
    offset?: number;
}
/** Result of listing tasks. */
export interface ListTasksResult {
    tasks: Task[];
    total: number;
    filtered: number;
    page: LAFSPage;
    pagination?: {
        limit: number;
        offset: number;
        hasMore: boolean;
    };
}
/**
 * List tasks with optional filtering and pagination.
 * @task T4460
 */
export declare function listTasks(options?: ListTasksOptions, cwd?: string, accessor?: DataAccessor): Promise<ListTasksResult>;
//# sourceMappingURL=list.d.ts.map