import { OTAArtifactResponse, UpdaterItem, UpdaterOptions, UpdaterStatus } from './types';
import { PublicModelInterface } from '../../../core/types';
import { IKosIdentifiable } from '../../../core/core/types';
import { IKosDataModel, KosCreationContext } from '../../../core/core/kosModel';
import { IKosDataContainer } from '../../../core/core/kos-data-container';

export declare const MODEL_TYPE = "ota-model";
export type OtaModel = PublicModelInterface<OtaModelImpl>;
export declare class OtaModelImpl implements IKosDataModel, IKosIdentifiable {
    id: string;
    private logger;
    private data;
    private troubleContainer;
    get downloadInProgressTrouble(): any;
    get updatePendingTrouble(): any;
    get pausedDueToErrorsTrouble(): any;
    get updates(): IKosDataContainer<UpdaterItem>;
    get status(): UpdaterStatus;
    constructor(modelId: string, options: UpdaterOptions, context: KosCreationContext);
    installAndReboot(): void;
    init(): Promise<void>;
    load(): Promise<void>;
    handleAllArtifacts(artifacts: OTAArtifactResponse[]): Promise<void>;
    handleChangedArtifacts(artifacts: OTAArtifactResponse[]): void;
}
//# sourceMappingURL=ota-model.d.ts.map