import type * as BalenaSdk from 'balena-sdk';
export interface ImgConfig {
    applicationName: string;
    applicationId: number;
    deviceType: string;
    userId: number;
    username: string;
    appUpdatePollInterval: number;
    listenPort: number;
    vpnPort: number;
    apiEndpoint: string;
    vpnEndpoint: string;
    registryEndpoint: string;
    deltaEndpoint: string;
    mixpanelToken: string;
    wifiSsid?: string;
    wifiKey?: string;
    initialDeviceName?: string;
    apiKey?: string;
    deviceApiKey?: string;
    connectivity?: string;
    files?: {
        [filepath: string]: string;
    };
    deviceId?: number;
    uuid?: string;
    registered_at?: number;
    os?: {
        sshKeys?: string[];
    };
    installer?: {
        secureboot?: boolean;
    };
}
export declare function generateApplicationConfig(application: Pick<BalenaSdk.Application, 'slug'>, options: {
    version: string;
    appUpdatePollInterval?: number;
    deviceType?: string;
    os?: {
        sshKeys?: string[];
    };
    secureBoot?: boolean;
}): Promise<ImgConfig>;
export declare function generateDeviceConfig(device: DeviceWithDeviceType & {
    belongs_to__application: BalenaSdk.PineDeferred;
}, deviceApiKey: string | true | undefined, options: {
    version: string;
}): Promise<ImgConfig>;
export declare function validateDevOptionAndWarn(dev?: boolean, version?: string, logger?: import('./logger')): Promise<void>;
export declare function validateSecureBootOptionAndWarn(secureBoot: boolean, slug: string, version: string, logger?: import('./logger')): Promise<void>;
