/**
 * Board view operations.
 *
 * This module uses Drizzle ORM for type-safe database queries.
 */
import { Board, BoardView, BoardViewFilter, BoardViewFilters } from '../types.js';
import { StorageContext } from './types.js';
export declare class ViewStorage {
    private ctx;
    constructor(ctx: StorageContext);
    /**
     * Resolve a project identifier to its actual ID.
     * Tries multiple strategies:
     * 1. Exact ID match
     * 2. Case-insensitive ID match
     * 3. Exact name match
     * 4. Case-insensitive name match
     * 5. Slugified name match
     */
    private resolveProjectId;
    /**
     * List board views.
     */
    listBoardViews(filter?: BoardViewFilter): Promise<BoardView[]>;
    /**
     * Get a board view by ID.
     */
    getBoardView(id: string): Promise<BoardView | null>;
    /**
     * Create a new board view.
     */
    createBoardView(view: Partial<BoardView>): Promise<BoardView>;
    /**
     * Update a board view.
     */
    updateBoardView(id: string, changes: Partial<BoardView>): Promise<BoardView>;
    /**
     * Delete a board view.
     */
    deleteBoardView(id: string): Promise<void>;
    /**
     * Get the default board view for a project.
     */
    getDefaultBoardView(projectId: string): Promise<BoardView | null>;
    /**
     * Get board with optional filters applied.
     * @param projectIdOrName - Project ID, name, or slug. Will be resolved to actual ID.
     */
    getBoardWithView(projectIdOrName: string, viewId?: string, filters?: BoardViewFilters): Promise<Board>;
    /**
     * Get tickets for a column (workflow status) with filters applied.
     */
    private getTicketsForColumnWithFilters;
    private rowToTicketWithColumn;
    private sortTickets;
    private rowToBoardView;
}
