import * as Models from './models';
import * as Parameters from './parameters';
import { Client } from '../clients';
import { Callback } from '../types';
export declare class Plugins {
    private client;
    constructor(client: Client);
    /** Get plugins */
    getPlugin<T = Models.Plugin>(parameters: Parameters.GetPlugin, callback: Callback<T>): Promise<void>;
    /** Get plugins */
    getPlugin<T = Models.Plugin>(parameters: Parameters.GetPlugin, callback?: never): Promise<T>;
    /** Update a Plugin */
    updatePlugin<T = Models.Plugin>(parameters: Parameters.UpdatePlugin, callback: Callback<T>): Promise<void>;
    /** Update a Plugin */
    updatePlugin<T = Models.Plugin>(parameters: Parameters.UpdatePlugin, callback?: never): Promise<T>;
    /** Create a new listing for a given locale for your Power-Up */
    createPluginListing<T = Models.PluginListing>(parameters: Parameters.CreatePluginListing, callback: Callback<T>): Promise<void>;
    /** Create a new listing for a given locale for your Power-Up */
    createPluginListing<T = Models.PluginListing>(parameters: Parameters.CreatePluginListing, callback?: never): Promise<T>;
    getPluginComplianceMemberPrivacy<T = unknown>(parameters: Parameters.GetPluginComplianceMemberPrivacy, callback: Callback<T>): Promise<void>;
    getPluginComplianceMemberPrivacy<T = unknown>(parameters: Parameters.GetPluginComplianceMemberPrivacy, callback?: never): Promise<T>;
    /** Update an existing listing for your Power-Up */
    updatePluginListing<T = Models.PluginListing>(parameters: Parameters.UpdatePluginListing, callback: Callback<T>): Promise<void>;
    /** Update an existing listing for your Power-Up */
    updatePluginListing<T = Models.PluginListing>(parameters: Parameters.UpdatePluginListing, callback?: never): Promise<T>;
}
