import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCoding } from "../Foundation/NSCoding.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CGRect } from "../structs/CGRect.js";
import type { CGSize } from "../structs/CGSize.js";
import type { NSPrinterPaperName } from "./NSPrinterPaperName.js";
import type { NSPrinterTableStatus } from "./NSPrinterTableStatus.js";
import type { NSPrinterTypeName } from "./NSPrinterTypeName.js";
export declare class _NSPrinter extends _NSObject {
    static alloc(): _NSPrinter;
    static new(): _NSPrinter;
    init(): _NSPrinter;
    /**
     * Given a human-readable printer name of the sort that appears in a Print panel's "Printer:" popup menu, return an instance of NSPrinter if the named printer is available, nil otherwise.
     */
    static printerWithName$(name: _NSString): _NSPrinter | null;
    /**
     * Given a string of the sort returned by +printerTypes:, return the first printer whose description matches, or nil if no available printer matches.
     */
    static printerWithType$(type: NSPrinterTypeName): _NSPrinter | null;
    /**
     * NSPrinter's implementation of each of these methods returns nil.
     * @deprecated
     */
    static printerWithName$domain$includeUnavailable$(name: _NSString, domain: _NSString | null, flag: boolean): _NSPrinter | null;
    /**
     * Return an array of strings that contain the human-readable names of all available printers.
     */
    static printerNames(): _NSArray;
    /**
     * Return an array of strings that contain the human-readable descriptions of the makes and models of all available printers. The array may contain fewer entries than the array that would be returned by an invocation of +printerNames.
     */
    static printerTypes(): _NSArray;
    /**
     * Given a valid paper name, return the corresponding paper size in points, or NSZeroSize for failure.
     */
    pageSizeForPaper$(paperName: NSPrinterPaperName): CGSize;
    /**
     * PMPrinter API should be used instead. Return the status of the named table in the printer's PostScript Printer Description (PPD) if the PPD is available. NSPrinterTableNotFound is returned for every table name if no PPD is available.
     * @deprecated
     */
    statusForTable$(tableName: _NSString): NSPrinterTableStatus;
    /**
     * PMPrinter API should be used instead. Methods for accessing the information in the printer's PPD. If no PPD is available for the printer, values such as NO, 0, NSZeroRect, NSZeroSize, and nil are returned.
     * @deprecated
     */
    isKey$inTable$(key: _NSString | null, table: _NSString): boolean;
    /** @deprecated */
    booleanForKey$inTable$(key: _NSString | null, table: _NSString): boolean;
    /** @deprecated */
    floatForKey$inTable$(key: _NSString | null, table: _NSString): number;
    /** @deprecated */
    intForKey$inTable$(key: _NSString | null, table: _NSString): number;
    /** @deprecated */
    rectForKey$inTable$(key: _NSString | null, table: _NSString): CGRect;
    /** @deprecated */
    sizeForKey$inTable$(key: _NSString | null, table: _NSString): CGSize;
    /** @deprecated */
    stringForKey$inTable$(key: _NSString | null, table: _NSString): _NSString | null;
    /** @deprecated */
    stringListForKey$inTable$(key: _NSString | null, table: _NSString): _NSArray | null;
    /**
     * -[NSPrinter imageRectForPaper:] will attempt to determine and return the bounds of the imageable area for a particular paper name, but querying such information by paper name alone is not reliable. Use -[NSPrintInfo imageablePageBounds], which was introduced in Mac OS 10.2, instead.
     * @deprecated
     */
    imageRectForPaper$(paperName: _NSString | null): CGRect;
    /**
     * NSPrinter's implementations of these methods return values that are not reliable or meaningful for some printers.
     * @deprecated
     */
    acceptsBinary(): boolean;
    /** @deprecated */
    isColor(): boolean;
    /** @deprecated */
    isFontAvailable$(faceName: _NSString | null): boolean;
    /** @deprecated */
    isOutputStackInReverseOrder(): boolean;
    /** @deprecated */
    domain(): _NSString;
    /** @deprecated */
    host(): _NSString;
    /** @deprecated */
    note(): _NSString;
    /** Return the printer's human-readable name, or an empty string for failure. */
    name(): _NSString;
    /**
     * Return a human-readable description of the printer's make and model, or an empty string for failure.
     */
    type(): NSPrinterTypeName;
    /**
     * Return the PostScript language level of the printer if it is a PostScript printer, or 0 if it is not a PostScript printer or for failure.
     */
    languageLevel(): number;
    /**
     * Return a dictionary that describes the printing device using entries keyed by the NSDevice... strings declared in NSGraphics.h. The only entry that is guaranteed to exist in the returned dictionary is NSDeviceIsPrinter.
     */
    deviceDescription(): _NSDictionary;
}
export interface _NSPrinter extends _NSCopying, _NSCoding {
}
