export interface ClientState {
    apiVersion: string;
    hatDomain: string;
    token?: string;
    secure: boolean;
    authenticated: boolean;
}
export interface HatClientConfig {
    apiVersion?: string;
    hatDomain?: string;
    token?: string;
    secure?: boolean;
}
export declare class HatClient {
    private state;
    private mHeaders;
    constructor(config: HatClientConfig);
    static authenticate(token: string): HatClient;
    applications(): import("./api/applications").Applications;
    authentication(): import("./api/authentication").HatAuth;
    dataDebits(): import("./api/data-debits").DataDebits;
    registration(): import("./api/registration").HatRegistration;
    hatData(): import("./api/hat-data").HatData;
}
