import { Static } from '@sinclair/typebox';
import { Readable } from 'node:stream';
import type { Feature } from '@tak-ps/node-cot';
import Commands, { CommandOutputFormat, type ParsedArgs } from '../commands.js';
export declare enum MissionSubscriberRole {
    MISSION_OWNER = "MISSION_OWNER",
    MISSION_SUBSCRIBER = "MISSION_SUBSCRIBER",
    MISSION_READONLY_SUBSCRIBER = "MISSION_READONLY_SUBSCRIBER"
}
export declare const MissionContent: import("@sinclair/typebox").TObject<{
    keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    hash: import("@sinclair/typebox").TString;
    submissionTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    uid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
    creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    mimeType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    submitter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    expiration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
}>;
export declare const MissionChange: import("@sinclair/typebox").TObject<{
    isFederatedChange: import("@sinclair/typebox").TBoolean;
    type: import("@sinclair/typebox").TString;
    missionName: import("@sinclair/typebox").TString;
    missionGuid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    timestamp: import("@sinclair/typebox").TString;
    serverTime: import("@sinclair/typebox").TString;
    creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    contentUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    details: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
        type: import("@sinclair/typebox").TString;
        callsign: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        iconsetPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        attachments: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
        name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        location: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
            lat: import("@sinclair/typebox").TNumber;
            lon: import("@sinclair/typebox").TNumber;
        }>>;
    }>>;
    contentResource: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
        keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
        name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        hash: import("@sinclair/typebox").TString;
        submissionTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        uid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
        creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        mimeType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        submitter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        expiration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
    }>>;
}>;
export declare const Mission: import("@sinclair/typebox").TObject<{
    name: import("@sinclair/typebox").TString;
    description: import("@sinclair/typebox").TString;
    chatRoom: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    baseLayer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    bbox: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    classification: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    tool: import("@sinclair/typebox").TString;
    keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
    creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    createTime: import("@sinclair/typebox").TString;
    externalData: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
    feeds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
    mapLayers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
    ownerRole: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
        permissions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
        type: import("@sinclair/typebox").TEnum<typeof MissionSubscriberRole>;
    }>>;
    inviteOnly: import("@sinclair/typebox").TBoolean;
    expiration: import("@sinclair/typebox").TNumber;
    guid: import("@sinclair/typebox").TString;
    uids: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
    logs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        id: import("@sinclair/typebox").TString;
        content: import("@sinclair/typebox").TString;
        creatorUid: import("@sinclair/typebox").TString;
        missionNames: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
        servertime: import("@sinclair/typebox").TString;
        dtg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        entryUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        created: import("@sinclair/typebox").TString;
        contentHashes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
        keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
    }>>>;
    contents: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        timestamp: import("@sinclair/typebox").TString;
        creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        data: import("@sinclair/typebox").TObject<{
            keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
            name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            hash: import("@sinclair/typebox").TString;
            submissionTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            uid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
            creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            mimeType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            submitter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            expiration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
        }>;
    }>>;
    passwordProtected: import("@sinclair/typebox").TBoolean;
    token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    groups: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
    missionChanges: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        isFederatedChange: import("@sinclair/typebox").TBoolean;
        type: import("@sinclair/typebox").TString;
        missionName: import("@sinclair/typebox").TString;
        missionGuid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        timestamp: import("@sinclair/typebox").TString;
        serverTime: import("@sinclair/typebox").TString;
        creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        contentUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        details: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
            type: import("@sinclair/typebox").TString;
            callsign: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            iconsetPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            attachments: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
            name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            location: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                lat: import("@sinclair/typebox").TNumber;
                lon: import("@sinclair/typebox").TNumber;
            }>>;
        }>>;
        contentResource: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
            keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
            name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            hash: import("@sinclair/typebox").TString;
            submissionTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            uid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
            creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            mimeType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            submitter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            expiration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
        }>>;
    }>>>;
}>;
export declare const MissionRole: import("@sinclair/typebox").TObject<{
    permissions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
    hibernateLazyInitializer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
    type: import("@sinclair/typebox").TEnum<typeof MissionSubscriberRole>;
}>;
export declare const MissionSubscriber: import("@sinclair/typebox").TObject<{
    token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    clientUid: import("@sinclair/typebox").TString;
    username: import("@sinclair/typebox").TString;
    createTime: import("@sinclair/typebox").TString;
    role: import("@sinclair/typebox").TObject<{
        permissions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
        hibernateLazyInitializer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
        type: import("@sinclair/typebox").TEnum<typeof MissionSubscriberRole>;
    }>;
}>;
export declare const MissionOptions: import("@sinclair/typebox").TObject<{
    token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const AttachContentsInput: import("@sinclair/typebox").TObject<{
    hashes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    uids: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
}>;
export declare const DetachContentsInput: import("@sinclair/typebox").TObject<{
    hash: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    uid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const MissionChangesInput: import("@sinclair/typebox").TObject<{
    secago: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
    start: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    end: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    squashed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>;
export declare const SubscribedInput: import("@sinclair/typebox").TObject<{
    uid: import("@sinclair/typebox").TString;
}>;
export declare const UnsubscribeInput: import("@sinclair/typebox").TObject<{
    uid: import("@sinclair/typebox").TString;
    disconnectOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>;
export declare const SubscriptionInput: import("@sinclair/typebox").TObject<{
    uid: import("@sinclair/typebox").TString;
}>;
export declare const SubscribeInput: import("@sinclair/typebox").TObject<{
    uid: import("@sinclair/typebox").TString;
    password: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    secago: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
    start: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    end: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const MissionDeleteInput: import("@sinclair/typebox").TObject<{
    creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    deepDelete: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>;
export declare const GetInput: import("@sinclair/typebox").TObject<{
    password: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    changes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    logs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    secago: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
    start: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    end: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const SetRoleInput: import("@sinclair/typebox").TObject<{
    clientUid: import("@sinclair/typebox").TString;
    username: import("@sinclair/typebox").TString;
    role: import("@sinclair/typebox").TObject<{
        permissions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
        hibernateLazyInitializer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
        type: import("@sinclair/typebox").TEnum<typeof MissionSubscriberRole>;
    }>;
}>;
export declare const MissionListInput: import("@sinclair/typebox").TObject<{
    passwordProtected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    defaultRole: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    tool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const MissionCreateInput: import("@sinclair/typebox").TObject<{
    name: import("@sinclair/typebox").TString;
    group: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TString]>>;
    keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    creatorUid: import("@sinclair/typebox").TString;
    description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    chatRoom: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    baseLayer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    bbox: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    boundingPolygon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    classification: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    tool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    password: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    defaultRole: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    expiration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
    inviteOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    allowDupe: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>;
export declare const MissionUpdateInput: import("@sinclair/typebox").TObject<{
    creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    chatRoom: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    baseLayer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    group: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TString]>>;
    allowGroupChange: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    bbox: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    classification: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    tool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    expiration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
    inviteOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>;
export declare const GUIDMatch: RegExp;
export declare const TAKList_Mission: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        name: import("@sinclair/typebox").TString;
        description: import("@sinclair/typebox").TString;
        chatRoom: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        baseLayer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        bbox: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        classification: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        tool: import("@sinclair/typebox").TString;
        keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
        creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        createTime: import("@sinclair/typebox").TString;
        externalData: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
        feeds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
        mapLayers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
        ownerRole: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
            permissions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            type: import("@sinclair/typebox").TEnum<typeof MissionSubscriberRole>;
        }>>;
        inviteOnly: import("@sinclair/typebox").TBoolean;
        expiration: import("@sinclair/typebox").TNumber;
        guid: import("@sinclair/typebox").TString;
        uids: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
        logs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
            id: import("@sinclair/typebox").TString;
            content: import("@sinclair/typebox").TString;
            creatorUid: import("@sinclair/typebox").TString;
            missionNames: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            servertime: import("@sinclair/typebox").TString;
            dtg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            entryUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            created: import("@sinclair/typebox").TString;
            contentHashes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
        }>>>;
        contents: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
            timestamp: import("@sinclair/typebox").TString;
            creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            data: import("@sinclair/typebox").TObject<{
                keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                hash: import("@sinclair/typebox").TString;
                submissionTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                uid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
                creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                mimeType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                submitter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                expiration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
            }>;
        }>>;
        passwordProtected: import("@sinclair/typebox").TBoolean;
        token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        groups: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>>;
        missionChanges: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
            isFederatedChange: import("@sinclair/typebox").TBoolean;
            type: import("@sinclair/typebox").TString;
            missionName: import("@sinclair/typebox").TString;
            missionGuid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            timestamp: import("@sinclair/typebox").TString;
            serverTime: import("@sinclair/typebox").TString;
            creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            contentUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            details: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TString;
                callsign: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                iconsetPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                attachments: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                location: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    lat: import("@sinclair/typebox").TNumber;
                    lon: import("@sinclair/typebox").TNumber;
                }>>;
            }>>;
            contentResource: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                hash: import("@sinclair/typebox").TString;
                submissionTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                uid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
                creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                mimeType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                submitter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                expiration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
            }>>;
        }>>>;
    }>>;
    messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const TAKList_MissionInvites: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
    messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const TAKList_MissionChange: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        isFederatedChange: import("@sinclair/typebox").TBoolean;
        type: import("@sinclair/typebox").TString;
        missionName: import("@sinclair/typebox").TString;
        missionGuid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        timestamp: import("@sinclair/typebox").TString;
        serverTime: import("@sinclair/typebox").TString;
        creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        contentUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        details: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
            type: import("@sinclair/typebox").TString;
            callsign: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            iconsetPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            attachments: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
            name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            location: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                lat: import("@sinclair/typebox").TNumber;
                lon: import("@sinclair/typebox").TNumber;
            }>>;
        }>>;
        contentResource: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
            keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
            name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            hash: import("@sinclair/typebox").TString;
            submissionTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            uid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
            creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            mimeType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            submitter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            expiration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
        }>>;
    }>>;
    messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const TAKList_MissionSubscriber: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        clientUid: import("@sinclair/typebox").TString;
        username: import("@sinclair/typebox").TString;
        createTime: import("@sinclair/typebox").TString;
        role: import("@sinclair/typebox").TObject<{
            permissions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            hibernateLazyInitializer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
            type: import("@sinclair/typebox").TEnum<typeof MissionSubscriberRole>;
        }>;
    }>>;
    messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const TAKItem_MissionSubscriber: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: import("@sinclair/typebox").TObject<{
        token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        clientUid: import("@sinclair/typebox").TString;
        username: import("@sinclair/typebox").TString;
        createTime: import("@sinclair/typebox").TString;
        role: import("@sinclair/typebox").TObject<{
            permissions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            hibernateLazyInitializer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
            type: import("@sinclair/typebox").TEnum<typeof MissionSubscriberRole>;
        }>;
    }>;
    messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
/**
 * @class
 */
export default class MissionCommands extends Commands {
    #private;
    schema: {
        list: {
            description: string;
            params: import("@sinclair/typebox").TObject<{}>;
            query: import("@sinclair/typebox").TObject<{}>;
            formats: CommandOutputFormat[];
        };
    };
    cli(args: ParsedArgs): Promise<object | string>;
    /**
     * Return Zip archive of Mission Sync
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionArchive_1 TAK Server Docs}.
     */
    getArchive(name: string, opts?: Static<typeof MissionOptions>): Promise<Readable>;
    /**
     * Return Mission Sync changes in a given time range
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionChanges TAK Server Docs}.
     */
    changes(name: string, query: Static<typeof MissionChangesInput>, opts?: Static<typeof MissionOptions>): Promise<Static<typeof TAKList_MissionChange>>;
    /**
     * Return all current features in the Data Sync as CoT GeoJSON Features
     */
    latestFeats(name: string, opts?: Static<typeof MissionOptions>): Promise<Static<typeof Feature.Feature>[]>;
    /**
     * Return all current features in the Data Sync as CoT GeoJSON Features
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getLatestMissionCotEvents TAK Server Docs}.
     */
    latestCots(name: string, opts?: Static<typeof MissionOptions>): Promise<string>;
    /**
     * Return users associated with this mission
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionContacts TAK Server Docs}.
     */
    contacts(name: string, opts?: Static<typeof MissionOptions>): Promise<any>;
    /**
     * Return children associated with this mission
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getChildren TAK Server Docs}.
     */
    children(name: string, opts?: Static<typeof MissionOptions>): Promise<Static<typeof TAKList_Mission>>;
    /**
     * Set the parent mission for a child mission
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/setParent TAK Server Docs}.
     */
    setParent(child: string, parent: string, opts?: Static<typeof MissionOptions>): Promise<any>;
    /**
     * Remove a file from the mission
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/removeMissionContent TAK Server Docs}.
     */
    detachContents(name: string, body: Static<typeof DetachContentsInput>, opts?: Static<typeof MissionOptions>): Promise<any>;
    /**
     * Attach a file resource by hash from the TAK Server file manager
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/addMissionContent TAK Server Docs}.
     */
    attachContents(name: string, body: Static<typeof AttachContentsInput>, opts?: Static<typeof MissionOptions>): Promise<any>;
    /**
     * Upload a Mission Package
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/addMissionPackage TAK Server Docs}.
     */
    upload(name: string, creatorUid: string, body: Readable, opts?: Static<typeof MissionOptions>): Promise<any>;
    /**
     * Return UIDs associated with any subscribed users
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionSubscriptions TAK Server Docs}.
     */
    subscriptions(name: string, opts?: Static<typeof MissionOptions>): Promise<Static<typeof TAKItem_MissionSubscriber>>;
    /**
     * Return permissions associated with any subscribed users
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionSubscriptionRoles TAK Server Docs}.
     */
    subscriptionRoles(name: string, opts?: Static<typeof MissionOptions>): Promise<Static<typeof TAKList_MissionSubscriber>>;
    /**
     * Return Role associated with a given mission if subscribed
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/setMissionRole TAK Server Docs}.
     */
    setRole(name: string, query: Static<typeof SetRoleInput>, opts?: Static<typeof MissionOptions>): Promise<Static<typeof MissionRole>>;
    /**
     * Return Role associated with a given mission if subscribed
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionRoleFromToken TAK Server Docs}.
     */
    role(name: string, opts?: Static<typeof MissionOptions>): Promise<Static<typeof MissionRole>>;
    /**
     * Return subscription associated with a given mission if subscribed
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getSubscriptionForUser TAK Server Docs}.
     */
    subscription(name: string, query: Static<typeof SubscriptionInput>, opts?: Static<typeof MissionOptions>): Promise<Static<typeof MissionSubscriber>>;
    /**
     * Subscribe to a mission
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/createMissionSubscription TAK Server Docs}.
     */
    subscribe(name: string, query: Static<typeof SubscribeInput>, opts?: Static<typeof MissionOptions>): Promise<Static<typeof TAKItem_MissionSubscriber>>;
    /**
     * Unsubscribe from a mission
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/deleteMissionSubscription TAK Server Docs}.
     */
    unsubscribe(name: string, query: Static<typeof UnsubscribeInput>, opts?: Static<typeof MissionOptions>): Promise<any>;
    /**
     * List missions in currently active channels
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getAllMissions_1 TAK Server Docs}.
     */
    list(query: Static<typeof MissionListInput>): Promise<Static<typeof TAKList_Mission>>;
    /**
     * Get mission by its GUID
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionByGuid TAK Server Docs}.
     */
    getGuid(guid: string, query: Static<typeof GetInput>, opts?: Static<typeof MissionOptions>): Promise<Static<typeof Mission>>;
    /**
     * Check if you have access to a given mission
     */
    access(name: string, opts?: Static<typeof MissionOptions>): Promise<boolean>;
    /**
     * Update Mission
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/createMissionAllowDupe TAK Server Docs}.
     */
    update(name: string, body: Static<typeof MissionUpdateInput>, opts?: Static<typeof MissionOptions>): Promise<Static<typeof Mission>>;
    /**
     * Get mission by its Name
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMission TAK Server Docs}.
     */
    get(name: string, query: Static<typeof GetInput>, opts?: Static<typeof MissionOptions>): Promise<Static<typeof Mission>>;
    /**
     * Create a new mission
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/createMission TAK Server Docs}.
     */
    create(body: Static<typeof MissionCreateInput>): Promise<Static<typeof Mission>>;
    /**
     * Replace the full list of keywords on a Mission.
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/setKeywords TAK Server Docs}.
     */
    setKeywords(name: string, keywords: string[], opts?: Static<typeof MissionOptions>, creatorUid?: string): Promise<Static<typeof Mission>>;
    /**
     * Remove a single keyword from a Mission.
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/removeKeyword TAK Server Docs}.
     */
    deleteKeyword(name: string, keyword: string, opts?: Static<typeof MissionOptions>, creatorUid?: string): Promise<Static<typeof Mission>>;
    /**
     * Delete a mission
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/deleteMission TAK Server Docs}.
     */
    delete(name: string, query: Static<typeof MissionDeleteInput>, opts?: Static<typeof MissionOptions>): Promise<any>;
}
