/**
 * ProjectManager API for TypeScript
 *
 * (c) ProjectManager.com, Inc.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @author     ProjectManager.com <support@projectmanager.com>
 * @copyright  ProjectManager.com, Inc.
 * @link       https://github.com/projectmgr/projectmanager-sdk-typescript
 */
import { ProjectManagerClient } from "../index.js";
import { AstroResult } from "../index.js";
import { TaskMetadataUpdateDto } from "../index.js";
import { TaskMetadataSearchDto } from "../index.js";
export declare class TaskMetadataClient {
    private readonly client;
    /**
     * Internal constructor for this client library
     */
    constructor(client: ProjectManagerClient);
    /**
     * Adds a metadata to a task
     *
     * @param taskId Task ID
     * @param isSystem If metadata is for system or customer, isSystem = true is only of ProjectManager
     * @param isOverride If false we merge with the keys
     * @param body The metadata
     */
    addMetadata(taskId: string, body: TaskMetadataUpdateDto, isSystem?: boolean, isOverride?: boolean): Promise<AstroResult<object>>;
    /**
     * Get tasks by project ID and foreign key ID
     *
     * @param foreignKey Foreign Key ID
     * @param projectId Project ID
     * @param isSystem If metadata is for system or customer, isSystem = true is only of ProjectManager
     */
    taskMetadataSearch(projectId: string, foreignKey?: string, isSystem?: boolean): Promise<AstroResult<TaskMetadataSearchDto[]>>;
}
