import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCalendarDate } from "../Foundation/NSCalendarDate.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { _WebHistoryItem } from "./WebHistoryItem.js";
export declare class _WebHistory extends _NSObject {
    static alloc(): _WebHistory;
    static new(): _WebHistory;
    init(): _WebHistory;
    /**
     * @method optionalSharedHistory @abstract Returns a shared WebHistory instance initialized with the default history file. @result A WebHistory object.
     */
    static optionalSharedHistory(): _WebHistory;
    /**
     * @method setOptionalSharedHistory: @param history The history to use for the global WebHistory.
     */
    static setOptionalSharedHistory$(history: _WebHistory): void;
    /**
     * @method loadFromURL:error: @param URL The URL to use to initialize the WebHistory. @param error Set to nil or an NSError instance if an error occurred. @abstract The designated initializer for WebHistory. @result Returns YES if successful, NO otherwise.
     */
    loadFromURL$error$(URL: _NSURL, error: NobjcObject): boolean;
    /**
     * @method saveToURL:error: @discussion Save history to URL. It is the client's responsibility to call this at appropriate times. @param URL The URL to use to save the WebHistory. @param error Set to nil or an NSError instance if an error occurred. @result Returns YES if successful, NO otherwise.
     */
    saveToURL$error$(URL: _NSURL, error: NobjcObject): boolean;
    /**
     * @method addItems: @param newItems An array of WebHistoryItems to add to the WebHistory.
     */
    addItems$(newItems: _NSArray): void;
    /**
     * @method removeItems: @param items An array of WebHistoryItems to remove from the WebHistory.
     */
    removeItems$(items: _NSArray): void;
    /** @method removeAllItems */
    removeAllItems(): void;
    /**
     * @method orderedItemsLastVisitedOnDay: @discussion Get an array of WebHistoryItem that were last visited on the day represented by the specified NSCalendarDate, ordered from most recent to oldest. @param calendarDate A date identifying the unique day of interest. @result Returns an array of WebHistoryItems last visited on the indicated day.
     */
    orderedItemsLastVisitedOnDay$(calendarDate: _NSCalendarDate): _NSArray;
    /**
     * @method itemForURL: @abstract Get an item for a specific URL @param URL The URL of the history item to search for @result Returns an item matching the URL
     */
    itemForURL$(URL: _NSURL): _WebHistoryItem;
    /**
     * @property orderedLastVisitedDays @abstract An array of NSCalendarDates for which history items exist in the WebHistory. @discussion An array of NSCalendarDates, each one representing a unique day that contains one or more history items, ordered from most recent to oldest.
     */
    orderedLastVisitedDays(): _NSArray;
    /**
     * @property historyItemLimit @abstract The maximum number of items that will be stored by the WebHistory.
     */
    historyItemLimit(): number;
    setHistoryItemLimit$(value: number): void;
    /**
     * @property historyAgeInDaysLimit @abstract The maximum number of days to be read from stored history.
     */
    historyAgeInDaysLimit(): number;
    setHistoryAgeInDaysLimit$(value: number): void;
}
