import { Callback } from ".";
import { AccessToken } from "../core";
import { DepartmentsCommander } from "./departments";
import { IInvalid, TagsCommander } from "./tags";
import { UsersCommander } from "./users";
export declare class ContactsCommander {
    accessToken: AccessToken;
    private _departments?;
    private _tags?;
    private _users?;
    constructor(accessToken: AccessToken);
    readonly departments: DepartmentsCommander;
    readonly users: UsersCommander;
    readonly tags: TagsCommander;
    invite(memberIds?: string[], departmentIds?: number[], tagIds?: number[]): Promise<IInvalid>;
    batchAddMembers(mediaId: string, toInvite?: boolean, callback?: Callback): Promise<string>;
    batchReplaceMembers(mediaId: string, toInvite?: boolean, callback?: Callback): Promise<string>;
    batchReplaceDepartments(mediaId: string, callback?: Callback): Promise<string>;
    getBatchResult(jobId: string): Promise<{
        status: number;
        type: string;
        total: number;
        percentage: number;
        result: any[];
    }>;
}
