import * as Models from './models';
import * as Parameters from './parameters';
import { Client } from '../clients';
import { Callback } from '../types';
export declare class Organizations {
    private client;
    constructor(client: Client);
    /** Create a new Workspace */
    createOrganization<T = unknown>(parameters: Parameters.CreateOrganization, callback: Callback<T>): Promise<void>;
    /** Create a new Workspace */
    createOrganization<T = unknown>(parameters: Parameters.CreateOrganization, callback?: never): Promise<T>;
    getOrganization<T = Models.Organization>(parameters: Parameters.GetOrganization, callback: Callback<T>): Promise<void>;
    getOrganization<T = Models.Organization>(parameters: Parameters.GetOrganization, callback?: never): Promise<T>;
    /** Update an organization */
    updateOrganization<T = Models.Organization>(parameters: Parameters.UpdateOrganization, callback: Callback<T>): Promise<void>;
    /** Update an organization */
    updateOrganization<T = Models.Organization>(parameters: Parameters.UpdateOrganization, callback?: never): Promise<T>;
    /** Delete an Organization */
    deleteOrganization<T = unknown>(parameters: Parameters.DeleteOrganization, callback: Callback<T>): Promise<void>;
    /** Delete an Organization */
    deleteOrganization<T = unknown>(parameters: Parameters.DeleteOrganization, callback?: never): Promise<T>;
    getOrganizationField<T = Models.Organization>(parameters: Parameters.GetOrganizationField, callback: Callback<T>): Promise<void>;
    getOrganizationField<T = Models.Organization>(parameters: Parameters.GetOrganizationField, callback?: never): Promise<T>;
    /** List the actions on a Workspace */
    getOrganizationActions<T = Models.Action[]>(parameters: Parameters.GetOrganizationActions, callback: Callback<T>): Promise<void>;
    /** List the actions on a Workspace */
    getOrganizationActions<T = Models.Action[]>(parameters: Parameters.GetOrganizationActions, callback?: never): Promise<T>;
    /** List the boards in a Workspace */
    getOrganizationBoards<T = Array<Models.Board>>(parameters: Parameters.GetOrganizationBoards, callback: Callback<T>): Promise<void>;
    /** List the boards in a Workspace */
    getOrganizationBoards<T = Array<Models.Board>>(parameters: Parameters.GetOrganizationBoards, callback?: never): Promise<T>;
    /** Retrieve the exports that exist for the given organization */
    getOrganizationExports<T = Models.Export[]>(parameters: Parameters.GetOrganizationExports, callback: Callback<T>): Promise<void>;
    /** Retrieve the exports that exist for the given organization */
    getOrganizationExports<T = Models.Export[]>(parameters: Parameters.GetOrganizationExports, callback?: never): Promise<T>;
    /** Kick off CSV export for an organization */
    exportOrganizationCSV<T = Models.Export>(parameters: Parameters.ExportOrganizationCSV, callback: Callback<T>): Promise<void>;
    /** Kick off CSV export for an organization */
    exportOrganizationCSV<T = Models.Export>(parameters: Parameters.ExportOrganizationCSV, callback?: never): Promise<T>;
    /** List the members in a Workspace */
    getOrganizationMembers<T = Array<Models.Member>>(parameters: Parameters.GetOrganizationMembers, callback: Callback<T>): Promise<void>;
    /** List the members in a Workspace */
    getOrganizationMembers<T = Array<Models.Member>>(parameters: Parameters.GetOrganizationMembers, callback?: never): Promise<T>;
    updateOrganizationMember<T = unknown>(parameters: Parameters.UpdateOrganizationMember, callback: Callback<T>): Promise<void>;
    updateOrganizationMember<T = unknown>(parameters: Parameters.UpdateOrganizationMember, callback?: never): Promise<T>;
    /** List the memberships of a Workspace */
    getOrganizationMemberships<T = Array<Models.Memberships>>(parameters: Parameters.GetOrganizationMemberships, callback: Callback<T>): Promise<void>;
    /** List the memberships of a Workspace */
    getOrganizationMemberships<T = Array<Models.Memberships>>(parameters: Parameters.GetOrganizationMemberships, callback?: never): Promise<T>;
    /** Get a single Membership for an Organization */
    getOrganizationMembership<T = unknown>(parameters: Parameters.GetOrganizationMembership, callback: Callback<T>): Promise<void>;
    /** Get a single Membership for an Organization */
    getOrganizationMembership<T = unknown>(parameters: Parameters.GetOrganizationMembership, callback?: never): Promise<T>;
    /** Get organization scoped pluginData on this Workspace */
    getOrganizationPluginData<T = Array<Models.PluginData>>(parameters: Parameters.GetOrganizationPluginData, callback: Callback<T>): Promise<void>;
    /** Get organization scoped pluginData on this Workspace */
    getOrganizationPluginData<T = Array<Models.PluginData>>(parameters: Parameters.GetOrganizationPluginData, callback?: never): Promise<T>;
    /** List the organization's collections */
    getOrganizationTags<T = Array<Models.Tag>>(parameters: Parameters.GetOrganizationTags, callback: Callback<T>): Promise<void>;
    /** List the organization's collections */
    getOrganizationTags<T = Array<Models.Tag>>(parameters: Parameters.GetOrganizationTags, callback?: never): Promise<T>;
    /** Create a Tag in an Organization */
    createOrganizationTag<T = unknown>(parameters: Parameters.CreateOrganizationTag, callback: Callback<T>): Promise<void>;
    /** Create a Tag in an Organization */
    createOrganizationTag<T = unknown>(parameters: Parameters.CreateOrganizationTag, callback?: never): Promise<T>;
    /** Add a member to a Workspace or update their member type. */
    addOrganizationMember<T = unknown>(parameters: Parameters.AddOrganizationMember, callback: Callback<T>): Promise<void>;
    /** Add a member to a Workspace or update their member type. */
    addOrganizationMember<T = unknown>(parameters: Parameters.AddOrganizationMember, callback?: never): Promise<T>;
    /** Remove a member from a Workspace */
    deleteOrganizationMember<T = unknown>(parameters: Parameters.DeleteOrganizationMember, callback: Callback<T>): Promise<void>;
    /** Remove a member from a Workspace */
    deleteOrganizationMember<T = unknown>(parameters: Parameters.DeleteOrganizationMember, callback?: never): Promise<T>;
    /** Deactivate or reactivate a member of a Workspace */
    updateOrganizationDeactivateStatus<T = unknown>(parameters: Parameters.UpdateOrganizationDeactivateStatus, callback: Callback<T>): Promise<void>;
    /** Deactivate or reactivate a member of a Workspace */
    updateOrganizationDeactivateStatus<T = unknown>(parameters: Parameters.UpdateOrganizationDeactivateStatus, callback?: never): Promise<T>;
    /** Set the logo image for a Workspace */
    setOrganizationLogo<T = unknown>(parameters: Parameters.SetOrganizationLogo, callback: Callback<T>): Promise<void>;
    /** Delete a logo from a Workspace */
    deleteOrganizationLogo<T = unknown>(parameters: Parameters.DeleteOrganizationLogo, callback: Callback<T>): Promise<void>;
    /** Delete a logo from a Workspace */
    deleteOrganizationLogo<T = unknown>(parameters: Parameters.DeleteOrganizationLogo, callback?: never): Promise<T>;
    /** Remove a member from a Workspace and from all Workspace boards */
    deleteOrganizationMemberFromAll<T = unknown>(parameters: Parameters.DeleteOrganizationMemberFromAll, callback: Callback<T>): Promise<void>;
    /** Remove a member from a Workspace and from all Workspace boards */
    deleteOrganizationMemberFromAll<T = unknown>(parameters: Parameters.DeleteOrganizationMemberFromAll, callback?: never): Promise<T>;
    /** Remove the associated Google Apps domain from a Workspace */
    deleteOrganizationAssociatedDomain<T = unknown>(parameters: Parameters.DeleteOrganizationAssociatedDomain, callback: Callback<T>): Promise<void>;
    /** Remove the associated Google Apps domain from a Workspace */
    deleteOrganizationAssociatedDomain<T = unknown>(parameters: Parameters.DeleteOrganizationAssociatedDomain, callback?: never): Promise<T>;
    /** Remove the email domain restriction on who can be invited to the Workspace */
    deleteOrganizationInvites<T = unknown>(parameters: Parameters.DeleteOrganizationInvites, callback: Callback<T>): Promise<void>;
    /** Remove the email domain restriction on who can be invited to the Workspace */
    deleteOrganizationInvites<T = unknown>(parameters: Parameters.DeleteOrganizationInvites, callback?: never): Promise<T>;
    /** Delete an organization's tag */
    deleteOrganizationTag<T = unknown>(parameters: Parameters.DeleteOrganizationTag, callback: Callback<T>): Promise<void>;
    /** Delete an organization's tag */
    deleteOrganizationTag<T = unknown>(parameters: Parameters.DeleteOrganizationTag, callback?: never): Promise<T>;
    /** Used to check whether the given board has new billable guests on it. */
    getOrganizationNewBillableGuestBoard<T = unknown>(parameters: Parameters.GetOrganizationNewBillableGuestBoard, callback: Callback<T>): Promise<void>;
    /** Used to check whether the given board has new billable guests on it. */
    getOrganizationNewBillableGuestBoard<T = unknown>(parameters: Parameters.GetOrganizationNewBillableGuestBoard, callback?: never): Promise<T>;
}
