import { BaseAPI } from '../base';
import type { BaseAPIContext, ResourceCollectionResponse } from '../type';
import type { Robot, RobotCreatePayload, RobotGetManyContext, RobotUpdatePayload, RobotUpdateSecretResponse } from './type';
export declare class RobotAPI extends BaseAPI {
    constructor(context: BaseAPIContext);
    create(data: RobotCreatePayload): Promise<Robot>;
    getMany(context: RobotGetManyContext): Promise<ResourceCollectionResponse<Robot>>;
    getOne(id: number): Promise<Robot>;
    /**
     * Update harbor project robot account.
     * If no "secret" provided, a new secret is generated.
     *
     * @param id
     * @param secret
     */
    updateSecret(id: string | number, secret?: string): Promise<RobotUpdateSecretResponse>;
    update(id: number, data: RobotUpdatePayload): Promise<void>;
    delete(id: Robot['id']): Promise<void>;
    extendPayload<T extends Record<string, any>>(data: T): T;
}
