import * as Models from './models';
import * as Parameters from './parameters';
import { Client } from '../clients';
import { Callback } from '../types';
export declare class Cards {
    private client;
    constructor(client: Client);
    /** Create a new card */
    createCard<T = Models.Card>(parameters: Parameters.CreateCard, callback: Callback<T>): Promise<void>;
    /** Create a new card */
    createCard<T = Models.Card>(parameters: Parameters.CreateCard, callback?: never): Promise<T>;
    /** Get a card by its ID */
    getCard<T = Models.Card>(parameters: Parameters.GetCard, callback: Callback<T>): Promise<void>;
    /** Get a card by its ID */
    getCard<T = Models.Card>(parameters: Parameters.GetCard, callback?: never): Promise<T>;
    /** Update a card */
    updateCard<T = Models.Card>(parameters: Parameters.UpdateCard, callback: Callback<T>): Promise<void>;
    /** Update a card */
    updateCard<T = Models.Card>(parameters: Parameters.UpdateCard, callback?: never): Promise<T>;
    /** Delete a Card */
    deleteCard<T = Models.DeletedCard>(parameters: Parameters.DeleteCard, callback: Callback<T>): Promise<void>;
    /** Delete a Card */
    deleteCard<T = Models.DeletedCard>(parameters: Parameters.DeleteCard, callback?: never): Promise<T>;
    /** Get a specific property of a card */
    getCardField<T = Models.Card>(parameters: Parameters.GetCardField, callback: Callback<T>): Promise<void>;
    /** Get a specific property of a card */
    getCardField<T = Models.Card>(parameters: Parameters.GetCardField, callback?: never): Promise<T>;
    /** List the Actions on a Card */
    getCardActions<T = Models.Action[]>(parameters: Parameters.GetCardActions, callback: Callback<T>): Promise<void>;
    /** List the Actions on a Card */
    getCardActions<T = Models.Action[]>(parameters: Parameters.GetCardActions, callback?: never): Promise<T>;
    /** List the attachments on a card */
    getCardAttachments<T = Models.Attachment[]>(parameters: Parameters.GetCardAttachments, callback: Callback<T>): Promise<void>;
    /** List the attachments on a card */
    getCardAttachments<T = Models.Attachment[]>(parameters: Parameters.GetCardAttachments, callback?: never): Promise<T>;
    /** Create an Attachment to a Card */
    createCardAttachment<T = Models.Attachment>(parameters: Parameters.CreateCardAttachment, callback: Callback<T>): Promise<void>;
    /** Create an Attachment to a Card */
    createCardAttachment<T = Models.Attachment>(parameters: Parameters.CreateCardAttachment, callback?: never): Promise<T>;
    /** Get a specific Attachment on a Card. */
    getCardAttachment<T = Models.Attachment[]>(parameters: Parameters.GetCardAttachment, callback: Callback<T>): Promise<void>;
    /** Get a specific Attachment on a Card. */
    getCardAttachment<T = Models.Attachment[]>(parameters: Parameters.GetCardAttachment, callback?: never): Promise<T>;
    /** Delete an Attachment */
    deleteCardAttachment<T = Models.DeletedCard>(parameters: Parameters.DeleteCardAttachment, callback: Callback<T>): Promise<void>;
    /** Delete an Attachment */
    deleteCardAttachment<T = Models.DeletedCard>(parameters: Parameters.DeleteCardAttachment, callback?: never): Promise<T>;
    /** Get the board a card is on */
    getCardBoard<T = Models.Board>(parameters: Parameters.GetCardBoard, callback: Callback<T>): Promise<void>;
    /** Get the board a card is on */
    getCardBoard<T = Models.Board>(parameters: Parameters.GetCardBoard, callback?: never): Promise<T>;
    /** Get the completed checklist items on a card */
    getCardCompletedChecklists<T = unknown>(parameters: Parameters.GetCardCompletedChecklists, callback: Callback<T>): Promise<void>;
    /** Get the completed checklist items on a card */
    getCardCompletedChecklists<T = unknown>(parameters: Parameters.GetCardCompletedChecklists, callback?: never): Promise<T>;
    /** Get the checklists on a card */
    getCardChecklists<T = unknown>(parameters: Parameters.GetCardChecklists, callback: Callback<T>): Promise<void>;
    /** Get the checklists on a card */
    getCardChecklists<T = unknown>(parameters: Parameters.GetCardChecklists, callback?: never): Promise<T>;
    /** Create a new checklist on a card */
    createCardChecklist<T = unknown>(parameters: Parameters.CreateCardChecklist, callback: Callback<T>): Promise<void>;
    /** Create a new checklist on a card */
    createCardChecklist<T = unknown>(parameters: Parameters.CreateCardChecklist, callback?: never): Promise<T>;
    /** Get a specific checkItem on a card */
    getCardChecklistItem<T = unknown>(parameters: Parameters.GetCardChecklistItem, callback: Callback<T>): Promise<void>;
    /** Get a specific checkItem on a card */
    getCardChecklistItem<T = unknown>(parameters: Parameters.GetCardChecklistItem, callback?: never): Promise<T>;
    /** Update an item in a checklist on a card. */
    updateCardCheckItem<T = unknown>(parameters: Parameters.UpdateCardCheckItem, callback: Callback<T>): Promise<void>;
    /** Update an item in a checklist on a card. */
    updateCardCheckItem<T = unknown>(parameters: Parameters.UpdateCardCheckItem, callback?: never): Promise<T>;
    /** Delete a checklist item */
    deleteCardChecklistItem<T = unknown>(parameters: Parameters.DeleteCardChecklistItem, callback: Callback<T>): Promise<void>;
    /** Delete a checklist item */
    deleteCardChecklistItem<T = unknown>(parameters: Parameters.DeleteCardChecklistItem, callback?: never): Promise<T>;
    /** Get the list a card is in */
    getCardList<T = Models.List>(parameters: Parameters.GetCardList, callback: Callback<T>): Promise<void>;
    /** Get the list a card is in */
    getCardList<T = Models.List>(parameters: Parameters.GetCardList, callback?: never): Promise<T>;
    /** Get the members on a card */
    getCardMembers<T = unknown>(parameters: Parameters.GetCardMembers, callback: Callback<T>): Promise<void>;
    /** Get the members on a card */
    getCardMembers<T = unknown>(parameters: Parameters.GetCardMembers, callback?: never): Promise<T>;
    /** Get the members who have voted on a card */
    getCardMembersVoted<T = unknown>(parameters: Parameters.GetCardMembersVoted, callback: Callback<T>): Promise<void>;
    /** Get the members who have voted on a card */
    getCardMembersVoted<T = unknown>(parameters: Parameters.GetCardMembersVoted, callback?: never): Promise<T>;
    /** Vote on the card for a given member. */
    voteOnCardForGivenMember<T = unknown>(parameters: Parameters.VoteOnCardForGivenMember, callback: Callback<T>): Promise<void>;
    /** Vote on the card for a given member. */
    voteOnCardForGivenMember<T = unknown>(parameters: Parameters.VoteOnCardForGivenMember, callback?: never): Promise<T>;
    /** Get any shared pluginData on a card. */
    getCardPluginData<T = unknown>(parameters: Parameters.GetCardPluginData, callback: Callback<T>): Promise<void>;
    /** Get any shared pluginData on a card. */
    getCardPluginData<T = unknown>(parameters: Parameters.GetCardPluginData, callback?: never): Promise<T>;
    /** Get the stickers on a card */
    getCardStickers<T = unknown>(parameters: Parameters.GetCardStickers, callback: Callback<T>): Promise<void>;
    /** Get the stickers on a card */
    getCardStickers<T = unknown>(parameters: Parameters.GetCardStickers, callback?: never): Promise<T>;
    /** Add a sticker to a card */
    addStickerToCard<T = unknown>(parameters: Parameters.AddStickerToCard, callback: Callback<T>): Promise<void>;
    /** Add a sticker to a card */
    addStickerToCard<T = unknown>(parameters: Parameters.AddStickerToCard, callback?: never): Promise<T>;
    /** Get a specific sticker on a card */
    getCardSticker<T = unknown>(parameters: Parameters.GetCardSticker, callback: Callback<T>): Promise<void>;
    /** Get a specific sticker on a card */
    getCardSticker<T = unknown>(parameters: Parameters.GetCardSticker, callback?: never): Promise<T>;
    /** Update a sticker on a card */
    updateCardSticker<T = unknown>(parameters: Parameters.UpdateCardSticker, callback: Callback<T>): Promise<void>;
    /** Update a sticker on a card */
    updateCardSticker<T = unknown>(parameters: Parameters.UpdateCardSticker, callback?: never): Promise<T>;
    /** Remove a sticker from the card */
    deleteCardSticker<T = unknown>(parameters: Parameters.DeleteCardSticker, callback: Callback<T>): Promise<void>;
    /** Remove a sticker from the card */
    deleteCardSticker<T = unknown>(parameters: Parameters.DeleteCardSticker, callback?: never): Promise<T>;
    /** Update an existing comment */
    updateCardComment<T = unknown>(parameters: Parameters.UpdateCardComment, callback: Callback<T>): Promise<void>;
    /** Update an existing comment */
    updateCardComment<T = unknown>(parameters: Parameters.UpdateCardComment, callback?: never): Promise<T>;
    /** Delete a comment */
    deleteCardComment<T = unknown>(parameters: Parameters.DeleteCardComment, callback: Callback<T>): Promise<void>;
    /** Delete a comment */
    deleteCardComment<T = unknown>(parameters: Parameters.DeleteCardComment, callback?: never): Promise<T>;
    /**
     * Setting, updating, and removing the value for a Custom Field on a card. For more details on updating custom fields
     * check out the [Getting Started With Custom
     * Fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/getting-started-with-custom-fields/)
     */
    updateCardCustomField<T = unknown>(parameters: Parameters.UpdateCardCustomField, callback: Callback<T>): Promise<void>;
    /**
     * Setting, updating, and removing the value for a Custom Field on a card. For more details on updating custom fields
     * check out the [Getting Started With Custom
     * Fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/getting-started-with-custom-fields/)
     */
    updateCardCustomField<T = unknown>(parameters: Parameters.UpdateCardCustomField, callback?: never): Promise<T>;
    /** Get the custom field items for a card. */
    getCardCustomFields<T = Models.CustomFieldItems[]>(parameters: Parameters.GetCardCustomFields, callback: Callback<T>): Promise<void>;
    /** Get the custom field items for a card. */
    getCardCustomFields<T = Models.CustomFieldItems[]>(parameters: Parameters.GetCardCustomFields, callback?: never): Promise<T>;
    /** Add a new comment to a card */
    addCardComment<T = Models.Action>(parameters: Parameters.AddCardComment, callback: Callback<T>): Promise<void>;
    /** Add a new comment to a card */
    addCardComment<T = Models.Action>(parameters: Parameters.AddCardComment, callback?: never): Promise<T>;
    /** Add a label to a card */
    addCardLabel<T = unknown>(parameters: Parameters.AddCardLabel, callback: Callback<T>): Promise<void>;
    /** Add a label to a card */
    addCardLabel<T = unknown>(parameters: Parameters.AddCardLabel, callback?: never): Promise<T>;
    /** Add a member to a card */
    addCardMember<T = unknown>(parameters: Parameters.AddCardMember, callback: Callback<T>): Promise<void>;
    /** Add a member to a card */
    addCardMember<T = unknown>(parameters: Parameters.AddCardMember, callback?: never): Promise<T>;
    /** Create a new label for the board and add it to the given card. */
    createCardLabel<T = unknown>(parameters: Parameters.CreateCardLabel, callback: Callback<T>): Promise<void>;
    /** Create a new label for the board and add it to the given card. */
    createCardLabel<T = unknown>(parameters: Parameters.CreateCardLabel, callback?: never): Promise<T>;
    /** Mark notifications about this card as read */
    markCardNotificationAsRead<T = unknown>(parameters: Parameters.MarkCardNotificationAsRead, callback: Callback<T>): Promise<void>;
    /** Mark notifications about this card as read */
    markCardNotificationAsRead<T = unknown>(parameters: Parameters.MarkCardNotificationAsRead, callback?: never): Promise<T>;
    /** Remove a label from a card */
    deleteCardLabel<T = unknown>(parameters: Parameters.DeleteCardLabel, callback: Callback<T>): Promise<void>;
    /** Remove a label from a card */
    deleteCardLabel<T = unknown>(parameters: Parameters.DeleteCardLabel, callback?: never): Promise<T>;
    /** Remove a member from a card */
    deleteCardMember<T = unknown>(parameters: Parameters.DeleteCardMember, callback: Callback<T>): Promise<void>;
    /** Remove a member from a card */
    deleteCardMember<T = unknown>(parameters: Parameters.DeleteCardMember, callback?: never): Promise<T>;
    /** Remove a member's vote from a card */
    deleteCardMemberVote<T = unknown>(parameters: Parameters.DeleteCardMemberVote, callback: Callback<T>): Promise<void>;
    /** Remove a member's vote from a card */
    deleteCardMemberVote<T = unknown>(parameters: Parameters.DeleteCardMemberVote, callback?: never): Promise<T>;
    /** Update an item in a checklist on a card. */
    updateCardChecklistItem<T = Models.CheckItem>(parameters: Parameters.UpdateCardChecklistItem, callback: Callback<T>): Promise<void>;
    /** Update an item in a checklist on a card. */
    updateCardChecklistItem<T = Models.CheckItem>(parameters: Parameters.UpdateCardChecklistItem, callback?: never): Promise<T>;
    /** Delete a checklist from a card */
    deleteCardChecklist<T = unknown>(parameters: Parameters.DeleteCardChecklist, callback: Callback<T>): Promise<void>;
    /** Delete a checklist from a card */
    deleteCardChecklist<T = unknown>(parameters: Parameters.DeleteCardChecklist, callback?: never): Promise<T>;
}
