import type { _PDFAnnotation } from "./PDFAnnotation.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSColor } from "../AppKit/NSColor.js";
import type { _NSFont } from "../AppKit/NSFont.js";
import type { PDFWidgetControlType } from "./PDFWidgetControlType.js";
export declare class _PDFAnnotationButtonWidget extends _PDFAnnotation {
    static alloc(): _PDFAnnotationButtonWidget;
    static new(): _PDFAnnotationButtonWidget;
    init(): _PDFAnnotationButtonWidget;
    /** -------- accessors */
    controlType(): PDFWidgetControlType;
    setControlType$(type: PDFWidgetControlType): void;
    state(): number;
    setState$(value: number): void;
    backgroundColor(): _NSColor;
    /**
     * For radio buttons, indicates whether clicking on widget whose state is already On toggles it Off.
     */
    allowsToggleToOff(): boolean;
    setAllowsToggleToOff$(allowOff: boolean): void;
    /** Font attributes. */
    font(): _NSFont;
    fontColor(): _NSColor;
    /** Label for the button. Applies to kPDFWidgetPushButtonControl only. */
    caption(): _NSString;
    /** Internal name for the field (optional). Used for ResetForm actions. */
    fieldName(): _NSString;
    /**
     * String required for kPDFWidgetRadioButtonControl and kPDFWidgetCheckBoxControl Widgets. This string is the label for the 'on' state for the widget (the 'off' state is always labeled "Off"). For a single checkbox, a value of "On" is adequate. With multiple grouped radio buttons however you want to assign unique names such as "Married", "Single", and "Widowed" (for example - and for this example, all radio buttons would share a field name such as "MaritalStatus").
     */
    onStateValue(): _NSString;
    setOnStateValue$(name: _NSString): void;
}
export interface _PDFAnnotationButtonWidget extends _NSCopying {
}
