/// <reference types="node" />
/// <reference types="node" />
import { Observable } from "rxjs";
import { AttemptToQuitAppEvent } from "./attemptToQuitApp";
import { CLSSupportedDeviceModelId } from "../device/use-cases/isCustomLockScreenSupported";
export type LoadImageEvent = AttemptToQuitAppEvent | {
    type: "progress";
    progress: number;
} | {
    type: "loadImagePermissionRequested";
} | {
    type: "commitImagePermissionRequested";
} | {
    type: "imageLoaded";
    imageSize: number;
    imageHash: string;
};
export type LoadimageResult = {
    imageHash: string;
    imageSize: number;
};
type ScreenSpecs = {
    width: number;
    height: number;
    paddingTop: number;
    paddingBottom: number;
    paddingLeft: number;
    paddingRight: number;
};
export type LoadImageRequest = {
    hexImage: string;
    padImage?: boolean;
    deviceModelId: CLSSupportedDeviceModelId;
};
export type Input = {
    deviceId: string;
    request: LoadImageRequest;
};
export default function loadImage({ deviceId, request }: Input): Observable<LoadImageEvent>;
export declare function generateCustomLockScreenImageFormat(hexImage: string, compressImage: boolean, padImage: boolean, screenSpecs: ScreenSpecs): Promise<Buffer>;
export {};
//# sourceMappingURL=customLockScreenLoad.d.ts.map