import { Board, Column, CreateBoardParams, CreateColumnParams, CreateLaneParams, CurrentBoardStructure, Lane, UpdateColumnParams } from '../../types/index.js';
import { BaseClientModuleImpl } from './base-client.js';
export interface BoardFilters {
    board_ids?: number[];
    workspace_ids?: number[];
    expand?: ('workflows' | 'settings' | 'structure')[];
    fields?: ('board_id' | 'workspace_id' | 'is_archived' | 'name' | 'description' | 'revision')[];
    if_assigned?: number;
    is_archived?: number;
    workspace_id?: number;
}
export declare class BoardClient extends BaseClientModuleImpl {
    /**
     * Get all boards with optional filters
     */
    getBoards(filters?: BoardFilters): Promise<Board[]>;
    /**
     * Get a specific board by ID
     */
    getBoard(boardId: number): Promise<Board>;
    /**
     * Create a new board
     */
    createBoard(params: CreateBoardParams): Promise<Board>;
    /**
     * Update an existing board
     */
    updateBoard(boardId: number, params: Partial<CreateBoardParams>): Promise<Board>;
    /**
     * Delete a board
     */
    deleteBoard(boardId: number): Promise<void>;
    /**
     * Get board structure
     */
    getBoardStructure(boardId: number): Promise<any>;
    /**
     * Get all columns for a board
     */
    getColumns(boardId: number): Promise<Column[]>;
    /**
     * Get all lanes/swimlanes for a board
     */
    getLanes(boardId: number): Promise<Lane[]>;
    /**
     * Get a specific lane by ID
     */
    getLane(laneId: number): Promise<Lane>;
    /**
     * Create a new lane/swimlane
     */
    createLane(params: CreateLaneParams): Promise<Lane>;
    /**
     * Get current board structure with detailed configuration
     */
    getCurrentBoardStructure(boardId: number): Promise<CurrentBoardStructure>;
    /**
     * Create a new column on a board (main column or sub-column)
     */
    createColumn(boardId: number, params: CreateColumnParams): Promise<Column>;
    /**
     * Update an existing column on a board
     */
    updateColumn(boardId: number, columnId: number, params: UpdateColumnParams): Promise<Column>;
    /**
     * Delete a column from a board
     */
    deleteColumn(boardId: number, columnId: number): Promise<void>;
}
//# sourceMappingURL=board-client.d.ts.map