import { device } from 'aws-iot-device-sdk';
import { AxiosInstance } from 'axios/index';
export declare const getConn: (apiHost: string, apiKey: string, verbose: boolean) => AxiosInstance;
export declare const generateDeviceId: () => string;
export declare type DeviceDefaults = {
    endpoint: string;
    mqttMessagesPrefix: string;
    certsResponse: string;
    tenantId: string;
};
export declare type SimulatorConfig = {
    certsResponse: string;
    endpoint: string;
    appFwVersion: string;
    deviceId: string;
    mqttMessagesPrefix: string;
    stage: string;
    tenantId: string;
    services?: string;
    apiKey?: string;
    apiHost?: string;
    deviceOwnershipCode?: string;
    verbose?: boolean;
    associate?: boolean;
    onConnect?: (deviceId: string, client?: device) => Promise<void>;
};
export declare const associateDevice: ({ deviceId, deviceOwnershipCode, apiHost, apiKey, verbose, }: Partial<SimulatorConfig>) => Promise<void>;
export declare const getDefaults: ({ deviceId, endpoint, mqttMessagesPrefix, certsResponse, apiHost, apiKey, deviceOwnershipCode, verbose, }: Partial<SimulatorConfig>) => Promise<DeviceDefaults>;
export declare const run: (config: SimulatorConfig) => Promise<void>;
