import { BusinessMapConfig } from '../types/index.js';
import { BoardFilters } from './modules/board-client.js';
import { BoardClient, CardClient, CardFilters, WorkspaceClient } from './modules/index.js';
export declare class BusinessMapClient {
    private http;
    private readonly config;
    private isInitialized;
    private workspaceClient;
    private boardClient;
    private cardClient;
    private userClient;
    private customFieldClient;
    private utilityClient;
    private workflowClient;
    constructor(config: BusinessMapConfig);
    /**
     * Initialize the client by verifying the connection to the BusinessMap API
     */
    initialize(): Promise<void>;
    /**
     * Check if the client has been initialized
     */
    get initialized(): boolean;
    private transformError;
    getWorkspaces(): Promise<import("../types/workspace.js").Workspace[]>;
    getWorkspace(workspaceId: number): Promise<import("../types/workspace.js").Workspace>;
    createWorkspace(params: Parameters<WorkspaceClient['createWorkspace']>[0]): Promise<import("../types/workspace.js").Workspace>;
    updateWorkspace(workspaceId: number, params: Parameters<WorkspaceClient['updateWorkspace']>[1]): Promise<import("../types/workspace.js").Workspace>;
    deleteWorkspace(workspaceId: number): Promise<void>;
    getBoards(filters?: BoardFilters): Promise<import("../types/board.js").Board[]>;
    getBoard(boardId: number): Promise<import("../types/board.js").Board>;
    createBoard(params: Parameters<BoardClient['createBoard']>[0]): Promise<import("../types/board.js").Board>;
    updateBoard(boardId: number, params: Parameters<BoardClient['updateBoard']>[1]): Promise<import("../types/board.js").Board>;
    deleteBoard(boardId: number): Promise<void>;
    getBoardStructure(boardId: number): Promise<any>;
    getColumns(boardId: number): Promise<import("../types/board.js").Column[]>;
    getLanes(boardId: number): Promise<import("../types/lane.js").Lane[]>;
    getLane(laneId: number): Promise<import("../types/lane.js").Lane>;
    createLane(params: Parameters<BoardClient['createLane']>[0]): Promise<import("../types/lane.js").Lane>;
    getCurrentBoardStructure(boardId: number): Promise<import("../types/board.js").CurrentBoardStructure>;
    getCards(boardId: number, filters?: CardFilters): Promise<import("../types/card.js").Card[]>;
    getCard(cardId: number): Promise<import("../types/card.js").Card>;
    createCard(params: Parameters<CardClient['createCard']>[0]): Promise<import("../types/card.js").Card>;
    updateCard(params: Parameters<CardClient['updateCard']>[0]): Promise<import("../types/card.js").Card>;
    moveCard(cardId: number, columnId: number, laneId?: number, position?: number): Promise<import("../types/card.js").Card>;
    deleteCard(cardId: number): Promise<void>;
    getCardComments(cardId: number): Promise<import("../types/card.js").Comment[]>;
    getCardComment(cardId: number, commentId: number): Promise<import("../types/card.js").Comment>;
    getCardCustomFields(cardId: number): Promise<import("../types/card.js").CardCustomField[]>;
    getCardTypes(): Promise<import("../types/card.js").CardType[]>;
    getCardHistory(cardId: number, outcomeId: number): Promise<import("../types/card.js").CardHistoryItem[]>;
    getCardOutcomes(cardId: number): Promise<import("../types/card.js").Outcome[]>;
    getCardLinkedCards(cardId: number): Promise<import("../types/card.js").LinkedCardItem[]>;
    getCardSubtasks(cardId: number): Promise<import("../types/card.js").Subtask[]>;
    getCardSubtask(cardId: number, subtaskId: number): Promise<import("../types/card.js").Subtask>;
    createCardSubtask(cardId: number, params: Parameters<CardClient['createCardSubtask']>[1]): Promise<import("../types/card.js").Subtask>;
    getCardParents(cardId: number): Promise<import("../types/card.js").ParentCardItem[]>;
    getCardParent(cardId: number, parentCardId: number): Promise<{
        position: number;
    }>;
    addCardParent(cardId: number, parentCardId: number): Promise<{
        position: number;
    }>;
    removeCardParent(cardId: number, parentCardId: number): Promise<void>;
    getCardParentGraph(cardId: number): Promise<import("../types/card.js").ParentGraphItem[]>;
    getUsers(): Promise<import("../types/user.js").User[]>;
    getUser(userId: number): Promise<import("../types/user.js").User>;
    getCurrentUser(): Promise<import("../types/user.js").CurrentUser>;
    getCustomField(customFieldId: number): Promise<import("../types/custom-field.js").CustomField>;
    getWorkflowCycleTimeColumns(boardId: number, workflowId: number): Promise<import("../types/workflow.js").WorkflowCycleTimeColumn[]>;
    getWorkflowEffectiveCycleTimeColumns(boardId: number, workflowId: number): Promise<import("../types/workflow.js").WorkflowCycleTimeColumn[]>;
    healthCheck(): Promise<boolean>;
    getApiInfo(): Promise<any>;
}
//# sourceMappingURL=businessmap-client.d.ts.map