interface INamedItem {
    id: string;
    name: string;
}
interface List extends INamedItem {
    cards: Card[];
}
interface Board extends INamedItem {
    lists: List[];
}
interface Card extends INamedItem {
}
export { Trellor, List, Board, Card };
/**
 *
 * ().boards
 *          .get((Board[]))
 *          .add("board name", (Board))
 *          .find("board name", (Board[]))
 *
 * ().board("boardId")
 *                      .get((Board))
 *                      .remove()
 *                      .clear()
 *                      .lists
 *                          .get((List[]))
 *                          .add("list name", (List))
 *                          .find("list name", (List[]))
 *
 * ().list("listId")
 *                  .clear()
 *                  .remove()
 *                  .card("cardId")
 *                      .remove()
 *                  .cards
 *                      .get((Card[]))
 *                      .add("card name", (Card))
 *
 */
declare class Trellor {
    constructor(apiKey: string, apiToken: string);
    boards: BoardsActor;
    board: (id: string) => BoardActor;
    list: (id: string) => ListActor;
}
declare class BoardsActor {
    get: () => Promise<Board[]>;
    findAll: (name: string) => Promise<Board[]>;
    find: (name: string) => Promise<Board>;
    add: (name: string) => Promise<Board>;
}
declare class ListsActor {
    private boardId;
    constructor(boardId: string);
    get: () => Promise<List[]>;
    add: (name: string) => Promise<List>;
}
declare class BoardActor {
    private boardId;
    constructor(boardId: string);
    lists: ListsActor;
    get: () => Promise<Board>;
    remove: () => Promise<void>;
    clear: () => Promise<void>;
}
declare class ListActor {
    private listId;
    constructor(listId: string);
    clear: () => Promise<void>;
    remove: () => Promise<void>;
    card: (cardId: string) => CardActor;
    cards: CardsActor;
}
declare class CardsActor {
    private listId;
    constructor(listId: string);
    get: () => Promise<Card[]>;
    add: (name: string) => Promise<Card>;
}
declare class CardActor {
    private id;
    constructor(id: string);
    remove: () => Promise<void>;
}
