import * as Models from './models';
import * as Parameters from './parameters';
import { Client } from '../clients';
import { Callback } from '../types';
export declare class Tokens {
    private client;
    constructor(client: Client);
    /** Retrieve information about a token. */
    getToken<T = Models.Token>(parameters: Parameters.GetToken, callback: Callback<T>): Promise<void>;
    /** Retrieve information about a token. */
    getToken<T = Models.Token>(parameters: Parameters.GetToken, callback?: never): Promise<T>;
    /** Retrieve information about a token's owner by token. */
    getTokenMember<T = Models.Member>(parameters: Parameters.GetTokenMember, callback: Callback<T>): Promise<void>;
    /** Retrieve information about a token's owner by token. */
    getTokenMember<T = Models.Member>(parameters: Parameters.GetTokenMember, callback?: never): Promise<T>;
    /** Retrieve all webhooks created with a Token. */
    getTokenWebhooks<T = unknown>(parameters: Parameters.GetTokenWebhooks, callback: Callback<T>): Promise<void>;
    /** Retrieve all webhooks created with a Token. */
    getTokenWebhooks<T = unknown>(parameters: Parameters.GetTokenWebhooks, callback?: never): Promise<T>;
    /** Create a new webhook for a Token. */
    createTokenWebhooks<T = Models.Webhook>(parameters: Parameters.CreateTokenWebhooks, callback: Callback<T>): Promise<void>;
    /** Create a new webhook for a Token. */
    createTokenWebhooks<T = Models.Webhook>(parameters: Parameters.CreateTokenWebhooks, callback?: never): Promise<T>;
    /** Retrieve a webhook created with a Token. */
    getTokenWebhook<T = Models.Webhook>(parameters: Parameters.GetTokenWebhook, callback: Callback<T>): Promise<void>;
    /** Retrieve a webhook created with a Token. */
    getTokenWebhook<T = Models.Webhook>(parameters: Parameters.GetTokenWebhook, callback?: never): Promise<T>;
    /** Update a Webhook created by Token */
    updateTokenWebhook<T = unknown>(parameters: Parameters.UpdateTokenWebhook, callback: Callback<T>): Promise<void>;
    /** Update a Webhook created by Token */
    updateTokenWebhook<T = unknown>(parameters: Parameters.UpdateTokenWebhook, callback?: never): Promise<T>;
    /** Delete a webhook created with given token. */
    deleteTokenWebhook<T = unknown>(parameters: Parameters.DeleteTokenWebhook, callback: Callback<T>): Promise<void>;
    /** Delete a webhook created with given token. */
    deleteTokenWebhook<T = unknown>(parameters: Parameters.DeleteTokenWebhook, callback?: never): Promise<T>;
    /** Delete a token. */
    deleteToken<T = unknown>(parameters: Parameters.DeleteToken, callback: Callback<T>): Promise<void>;
    /** Delete a token. */
    deleteToken<T = unknown>(parameters: Parameters.DeleteToken, callback?: never): Promise<T>;
}
