import OAuth from './api/oauth.js';
import Package from './api/package.js';
import Certificate from './api/certificate.js';
import Query from './api/query.js';
import Locate from './api/locate.js';
import Mission, { MissionSubscriberRole } from './api/mission.js';
import MissionInvite, { MissionInviteType } from './api/mission-invite.js';
import MissionLog from './api/mission-log.js';
import MissionLayer, { MissionLayerType } from './api/mission-layer.js';
import Credentials from './api/credentials.js';
import Security from './api/security.js';
import Contacts from './api/contacts.js';
import Client from './api/client.js';
import Profile from './api/profile.js';
import Files from './api/files.js';
import Iconsets from './api/iconsets.js';
import Injectors from './api/injectors.js';
import Repeater from './api/repeater.js';
import Group from './api/groups.js';
import Subscription from './api/subscriptions.js';
import Video from './api/video.js';
import Export from './api/export.js';
import * as auth from './auth.js';
export declare const CommandList: Record<string, keyof TAKAPI>;
/**
 * Handle TAK HTTP API Operations
 * @class
 */
export default class TAKAPI {
    auth: auth.APIAuth;
    url: URL;
    Package: Package;
    OAuth: OAuth;
    Locate: Locate;
    Security: Security;
    Iconsets: Iconsets;
    Mission: Mission;
    MissionLog: MissionLog;
    MissionInvite: MissionInvite;
    MissionLayer: MissionLayer;
    Credentials: Credentials;
    Client: Client;
    Contacts: Contacts;
    Certificate: Certificate;
    Subscription: Subscription;
    Profile: Profile;
    Injectors: Injectors;
    Repeater: Repeater;
    Group: Group;
    Video: Video;
    Export: Export;
    Query: Query;
    Files: Files;
    constructor(url: URL, auth: auth.APIAuth);
    static init(url: URL, auth: auth.APIAuth): Promise<TAKAPI>;
    stdurl(url: string | URL): URL;
    /**
     * Standardize interactions with the backend API
     *
     * @param {URL|String} url      - Full URL or API fragment to request
     * @param {Object} [opts={}]    - Options
     */
    fetch(url: URL, opts?: any, raw?: boolean): Promise<any>;
}
export { OAuth, Package, Certificate, Query, Locate, Mission, MissionInvite, MissionLog, MissionLayer, Client, Credentials, Security, Contacts, Profile, Files, Iconsets, Injectors, Repeater, Group, Subscription, Video, Export, MissionSubscriberRole, MissionLayerType, MissionInviteType };
