/// <reference types="node" />
import { BaseOffchainStore, ImmutableOffchainStoreGetter, OffchainStoreGetter } from '../../base_offchain_store';
export interface UsedHashOnion {
    readonly count: number;
    readonly height: number;
}
export interface UsedHashOnionStoreObject {
    readonly usedHashOnions: UsedHashOnion[];
}
export declare const usedHashOnionsStoreSchema: {
    title: string;
    $id: string;
    type: string;
    required: string[];
    properties: {
        usedHashOnions: {
            type: string;
            fieldNumber: number;
            items: {
                type: string;
                required: string[];
                properties: {
                    count: {
                        dataType: string;
                        fieldNumber: number;
                    };
                    height: {
                        dataType: string;
                        fieldNumber: number;
                    };
                };
            };
        };
    };
};
export declare class UsedHashOnionsStore extends BaseOffchainStore<UsedHashOnionStoreObject> {
    schema: {
        title: string;
        $id: string;
        type: string;
        required: string[];
        properties: {
            usedHashOnions: {
                type: string;
                fieldNumber: number;
                items: {
                    type: string;
                    required: string[];
                    properties: {
                        count: {
                            dataType: string;
                            fieldNumber: number;
                        };
                        height: {
                            dataType: string;
                            fieldNumber: number;
                        };
                    };
                };
            };
        };
    };
    getLatest(ctx: ImmutableOffchainStoreGetter, address: Buffer, height?: number): Promise<UsedHashOnion | undefined>;
    setLatest(ctx: OffchainStoreGetter, finalizedHeight: number, address: Buffer, usedHashOnion: UsedHashOnion, originalUsedHashOnions: UsedHashOnion[]): Promise<void>;
    private _filterUsedHashOnions;
}
