import { UpdateResponse } from '@dvn/core/api';
import { GetListResponse } from '@dvn/core/api/dto/list';
import { Product } from '../models/product';
import { Workspace } from '../models/workspace';
import { WorkspaceOwnership } from '../models/workspace-ownership';
export declare class DevingenApi {
  private api;
  constructor(endpoint: string, defaultHeaders?: object);
  createProduct: (body: Partial<Product>) => Promise<Workspace>;
  getProducts: () => Promise<GetListResponse<Product>>;
  getProduct: (id: string) => Promise<Product>;
  updateProduct: (id: string, body: Partial<Product>) => Promise<UpdateResponse>;
  deleteProduct: (id: string) => Promise<unknown>;
  createWorkspace: (name: string) => Promise<Workspace>;
  updateWorkspace: (id: string, body: Partial<Workspace>) => Promise<UpdateResponse>;
  deleteWorkspace: (id: string) => Promise<unknown>;
  getWorkspaceOwnerships: () => Promise<GetListResponse<WorkspaceOwnership>>;
}
