import { AuthManager } from '../auth/AuthManager';
import { Document, DocumentListResponse, DocumentCreateRequest, DocumentUpdateRequest, DocumentDevicesRequest, DocumentGroupsRequest, DocumentUsersRequest } from './types';
export declare class DocsAPI {
    private readonly baseUrl;
    private readonly authManager;
    private readonly accountsServer;
    constructor(baseUrl: string, authManager: AuthManager, accountsServer: string);
    private getHeaders;
    /**
     * Get a list of content available on the MDM server
     */
    listDocs(): Promise<DocumentListResponse>;
    /**
     * Add a document or media file to MDM server
     */
    createDoc(request: DocumentCreateRequest): Promise<Document>;
    /**
     * Get details of a particular document or media
     */
    getDoc(docId: number): Promise<Document>;
    /**
     * Update the content available on the MDM server
     */
    updateDoc(docId: number, request: DocumentUpdateRequest): Promise<Document>;
    /**
     * Delete document or media file from MDM
     */
    deleteDoc(docId: number): Promise<void>;
    /**
     * Associate content to devices
     */
    associateDevices(docId: number, request: DocumentDevicesRequest): Promise<void>;
    /**
     * Disassociate content from devices
     */
    disassociateDevices(docId: number, request: DocumentDevicesRequest): Promise<void>;
    /**
     * Associate content to groups
     */
    associateGroups(docId: number, request: DocumentGroupsRequest): Promise<void>;
    /**
     * Disassociate content from groups
     */
    disassociateGroups(docId: number, request: DocumentGroupsRequest): Promise<void>;
    /**
     * Associate content to users
     */
    associateUsers(docId: number, request: DocumentUsersRequest): Promise<void>;
    /**
     * Disassociate content from users
     */
    disassociateUsers(docId: number, request: DocumentUsersRequest): Promise<void>;
}
