import { Observable } from "rxjs";
import type { DeviceInfo } from "@ledgerhq/types-live";
import type { LoadImageEvent, LoadImageRequest, LoadimageResult, Input as LoadImageInput } from "../customLockScreenLoad";
import type { Action, Device } from "./types";
type State = {
    isLoading: boolean;
    requestQuitApp: boolean;
    unresponsive: boolean;
    imageLoadRequested?: boolean;
    loadingImage?: boolean;
    imageLoaded?: boolean;
    imageCommitRequested?: boolean;
    imageHash: string;
    imageSize: number;
    device: Device | null | undefined;
    deviceInfo: DeviceInfo | null | undefined;
    error: Error | null | undefined;
    progress?: number;
};
type ActionState = State & {
    onRetry: () => void;
};
type LoadImageAction = Action<LoadImageRequest | undefined, ActionState, LoadimageResult>;
type Event = LoadImageEvent | {
    type: "error";
    error: Error;
} | {
    type: "deviceChange";
    device: Device | null | undefined;
};
export declare const getInitialState: (device?: Device | null | undefined) => State;
export declare const reducer: (state: State, e: Event) => State;
export declare const createAction: (task: (arg0: LoadImageInput) => Observable<LoadImageEvent>) => LoadImageAction;
export {};
//# sourceMappingURL=customLockScreenLoad.d.ts.map