export { TaskStorageService, type Task, type Comment, type Tag, type TaskChangelogEntry, type TaskChangelogResult, type CreateTaskParams, type UpdateTaskParams, type ListTasksParams, type ListTasksResult, type BatchDeleteTasksParams, type BatchDeleteTasksResult, type CreateUserParams, type CreateProjectParams, type ListCommentsResult, type ListTagsResult, type Attachment, type CreateAttachmentParams, type PresignUploadResponse, type PresignDownloadResponse, type ListAttachmentsResult, type ListUsersResult, type ListProjectsResult, type TaskActivityParams, type TaskActivityResult, type TaskPriority, type TaskType, type TaskStatus, type EntityRef, type UserEntityRef, type UserType, TaskSchema, TaskPrioritySchema, TaskTypeSchema, TaskStatusSchema, EntityRefSchema, UserTypeSchema, UserEntityRefSchema, CommentSchema, TagSchema, TaskChangelogEntrySchema, CreateTaskParamsSchema, UpdateTaskParamsSchema, ListTasksParamsSchema, ListTasksResultSchema, BatchDeleteTasksParamsSchema, BatchDeleteTasksResultSchema, TaskChangelogResultSchema, ListCommentsResultSchema, ListTagsResultSchema, AttachmentSchema, CreateAttachmentParamsSchema, PresignUploadResponseSchema, PresignDownloadResponseSchema, ListAttachmentsResultSchema, ListUsersResultSchema, ListProjectsResultSchema, TaskActivityParamsSchema, TaskActivityResultSchema, normalizeTaskStatus, } from '@agentuity/core/task';
import { type CreateTaskParams, type UpdateTaskParams, type ListTasksParams, type ListTasksResult, type Task, type Comment, type Tag, type TaskChangelogResult, type ListCommentsResult, type CreateAttachmentParams, type PresignUploadResponse, type PresignDownloadResponse, type ListAttachmentsResult, type ListUsersResult, type ListProjectsResult, type TaskActivityResult, type TaskActivityParams, type Attachment, type EntityRef } from '@agentuity/core/task';
import { type Logger } from '@agentuity/server';
import { z } from 'zod';
export declare const TaskClientOptionsSchema: z.ZodObject<{
    apiKey: z.ZodOptional<z.ZodString>;
    url: z.ZodOptional<z.ZodString>;
    orgId: z.ZodOptional<z.ZodString>;
    logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
}, z.core.$strip>;
export type TaskClientOptions = z.infer<typeof TaskClientOptionsSchema>;
export declare class TaskClient {
    #private;
    constructor(options?: TaskClientOptions);
    create(params: CreateTaskParams): Promise<Task>;
    get(id: string): Promise<Task | null>;
    list(params?: ListTasksParams): Promise<ListTasksResult>;
    update(id: string, params: UpdateTaskParams): Promise<Task>;
    close(id: string): Promise<Task>;
    softDelete(id: string): Promise<Task>;
    changelog(id: string, params?: {
        limit?: number;
        offset?: number;
    }): Promise<TaskChangelogResult>;
    createComment(taskId: string, body: string, userId: string, author?: EntityRef): Promise<Comment>;
    getComment(commentId: string): Promise<Comment | null>;
    updateComment(commentId: string, body: string): Promise<Comment>;
    deleteComment(commentId: string): Promise<void>;
    listComments(taskId: string, params?: {
        limit?: number;
        offset?: number;
    }): Promise<ListCommentsResult>;
    createTag(name: string, color?: string): Promise<Tag>;
    getTag(tagId: string): Promise<Tag | null>;
    updateTag(tagId: string, name: string, color?: string): Promise<Tag>;
    deleteTag(tagId: string): Promise<void>;
    listTags(): Promise<Tag[]>;
    addTagToTask(taskId: string, tagId: string): Promise<void>;
    removeTagFromTask(taskId: string, tagId: string): Promise<void>;
    listTagsForTask(taskId: string): Promise<Tag[]>;
    uploadAttachment(taskId: string, params: CreateAttachmentParams): Promise<PresignUploadResponse>;
    confirmAttachment(attachmentId: string): Promise<Attachment>;
    downloadAttachment(attachmentId: string): Promise<PresignDownloadResponse>;
    listAttachments(taskId: string): Promise<ListAttachmentsResult>;
    deleteAttachment(attachmentId: string): Promise<void>;
    listUsers(): Promise<ListUsersResult>;
    listProjects(): Promise<ListProjectsResult>;
    getActivity(params?: TaskActivityParams): Promise<TaskActivityResult>;
}
//# sourceMappingURL=index.d.ts.map