export interface TaskEntry { name: string; description: string; path: string; owner: string; visibility: "public" | "private"; source_chat?: string; created_at: string; status?: string; } export interface TaskIndex { tasks: TaskEntry[]; } export interface TaskAccessContext { userId?: string; chatType: "p2p" | "group"; } export interface ListTasksOptions extends TaskAccessContext { workingDirectory: string; includeInactive?: boolean; includeArchived?: boolean; nameFilter?: string; } export declare function buildTaskReadme(name: string, description: string): string; export declare function getTasksDir(workingDirectory: string): string; export declare function getIndexPath(workingDirectory: string): string; export declare function loadTaskIndex(workingDirectory: string): TaskIndex; export declare function saveTaskIndex(workingDirectory: string, index: TaskIndex): void; export declare function isTaskVisible(task: TaskEntry, ctx: TaskAccessContext): boolean; export declare function listTasks(options: ListTasksOptions): TaskEntry[]; export declare function createTask(options: { workingDirectory: string; name: string; description: string; visibility: "public" | "private"; owner?: string; sourceChat?: string; }): TaskEntry; export declare function getTaskForOwner(workingDirectory: string, name: string, userId?: string): TaskEntry; export declare function updateTask(options: { workingDirectory: string; name: string; userId?: string; newName?: string; description?: string; hasDescription?: boolean; visibility?: "public" | "private"; status?: "active" | "inactive"; }): TaskEntry; export declare function archiveTask(options: { workingDirectory: string; name: string; userId?: string; }): void;