import type { _NSButtonCell } from "./NSButtonCell.js";
import type { _NSMenu } from "./NSMenu.js";
import type { _NSTextFieldCell } from "./NSTextFieldCell.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCoder } from "../Foundation/NSCoder.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CGRect } from "../structs/CGRect.js";
export declare class _NSSearchFieldCell extends _NSTextFieldCell {
    static alloc(): _NSSearchFieldCell;
    static new(): _NSSearchFieldCell;
    init(): _NSSearchFieldCell;
    initTextCell$(string_: _NSString): _NSSearchFieldCell;
    initWithCoder$(coder: _NSCoder): _NSSearchFieldCell;
    /** can modify, set or clear cancel button. */
    resetSearchButtonCell(): void;
    resetCancelButtonCell(): void;
    /**
     * restore target, action, and image. if cell has been cleared, creates a new cell with default values.
     */
    searchTextRectForBounds$(rect: CGRect): CGRect;
    searchButtonRectForBounds$(rect: CGRect): CGRect;
    cancelButtonRectForBounds$(rect: CGRect): CGRect;
    searchButtonCell(): _NSButtonCell | null;
    setSearchButtonCell$(value: _NSButtonCell | null): void;
    /** can modify, set or cancel search button. */
    cancelButtonCell(): _NSButtonCell | null;
    setCancelButtonCell$(value: _NSButtonCell | null): void;
    /** for custom layout or to get current sizes */
    searchMenuTemplate(): _NSMenu | null;
    setSearchMenuTemplate$(value: _NSMenu | null): void;
    /**
     * set/get search menu template. Menu can use custom tagged items to indicate special items. this menu isn't actually set but used to construct the dynamic search menu. if cleared, then we don't track recents.
     */
    sendsWholeSearchString(): boolean;
    setSendsWholeSearchString$(value: boolean): void;
    /**
     * if clear, send action on each key stroke (after sufficient amount of time so we don't interfere with typing). if set, send only on return/enter or clicking magnifying search button
     */
    maximumRecents(): number;
    setMaximumRecents$(value: number): void;
    /**
     * set/get limit max recents. allowable between 0 and 254. setting -1 will use default.
     */
    recentSearches(): _NSArray;
    setRecentSearches$(value: _NSArray): void;
    /** if app wants to do custom search lists. will return empty array if no searches */
    recentsAutosaveName(): _NSString | null;
    setRecentsAutosaveName$(value: _NSString | null): void;
    /** must be set to use. default is nil which means no autosave. */
    sendsSearchStringImmediately(): boolean;
    setSendsSearchStringImmediately$(value: boolean): void;
}
