import { Observable } from "rxjs";
import { AttemptToQuitAppEvent } from "./attemptToQuitApp";
import { CLSSupportedDeviceModelId } from "../device/use-cases/isCustomLockScreenSupported";
import { type ScreenSpecs } from "../device/use-cases/screenSpecs";
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;
};
export type LoadImageRequest = {
    hexImage: string;
    padImage?: boolean;
    deviceModelId: CLSSupportedDeviceModelId;
};
export type Input = {
    deviceId: string;
    deviceName: string | null;
    request: LoadImageRequest;
};
export default function loadImage({ deviceId, deviceName, request, }: Input): Observable<LoadImageEvent>;
export declare function generateCustomLockScreenImageFormat(hexImage: string, compressImage: boolean, padImage: boolean, screenSpecs: ScreenSpecs): Promise<Buffer<ArrayBuffer>>;
//# sourceMappingURL=customLockScreenLoad.d.ts.map