import { AuthApi } from "./AuthApi.js";
import { FWGroup, FWMessage } from "../models/index.js";
interface FWQRCode {
    gid: string;
    seed: string;
    keyhint: string;
    service: string;
    type: string;
    mid: string;
    exp: number;
    licensemode: string;
    version: number;
    verifymode: string;
    ek: string;
    model: string;
    ipaddress: string;
    ipaddresses: string;
    rr: string;
    license: string;
    deviceName: string;
}
interface WebLoginTokenResponse {
    token: string;
    server: string;
}
declare class FWGroupApi extends AuthApi {
    static _instance: FWGroupApi;
    constructor();
    receiveMessageFromGroup(fwGroup: FWGroup, count?: number, since?: number): Promise<any>;
    startRendezVous(rendezVousId: string, license: string): Promise<any>;
    /**
     * @param qrcode - The QR code JSON isible in the Firewalla App -> Select your box -> Settings -> Advanced -> Allow Additional Pairing -> Turn on Additional Pairing
     * @param email - The email that should be linked to the ETP token (visible in the app)
     * @param localIp - The IP of the box you want to connect to
     */
    joinGroup(qrcode: FWQRCode, email: string, localIp: string): Promise<FWGroup>;
    /**
     * @param email - The email that should be linked to the ETP token (Only required when first creating your ETP token)
     */
    login(email?: string): Promise<any>;
    /**
     *
     * @param fwGroup - The Firewalla Group/Box the token needs access to
     * @param validDays - How many days the token should be valid for
     * @returns WebLoginTokenResponse
     */
    /** */
    getFireguardToken(fwGroup: FWGroup, validDays?: number): Promise<WebLoginTokenResponse>;
    sendMessageToBox(fwGroup: FWGroup, fwMessage: FWMessage): Promise<any>;
}
declare const _default: FWGroupApi;
export default _default;
//# sourceMappingURL=FWGroupApi.d.ts.map