import { bytes32 } from "../../chia_rs/wheel/python/sized_bytes";
import { bool, float, None, Optional, str } from "../types/_python_types_";
import { int, uint32 } from "../../chia_rs/wheel/python/sized_ints";
import { Plot } from "../protocols/harvester_protocol";
import { HarvestingMode } from "../plotting/util";
export type MayBeSummary<S, O> = S extends true ? int : O;
export type Receiver<SUMMARY extends boolean = false> = {
    connection: {
        node_id: bytes32;
        host: str;
        port: int;
    };
    plots: MayBeSummary<SUMMARY, Plot[]>;
    failed_to_open_filenames: MayBeSummary<SUMMARY, str[]>;
    no_key_filenames: MayBeSummary<SUMMARY, str[]>;
    duplicates: MayBeSummary<SUMMARY, str[]>;
    total_plot_size: int;
    total_effective_plot_size: int;
    syncing: {
        initial: bool;
        plot_files_processed: uint32;
        plot_files_total: uint32;
    } | None;
    last_sync_time: Optional<float>;
    harvesting_mode: Optional<HarvestingMode>;
};
