import type { NobjcObject } from "objc-js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSString } from "../Foundation/NSString.js";
export declare class _CNLabeledValue extends _NSObject {
    static alloc(): _CNLabeledValue;
    static new(): _CNLabeledValue;
    init(): _CNLabeledValue;
    /** Returns a new CNLabeledValue with a new identifier. */
    static labeledValueWithLabel$value$(label: _NSString | null, value: NobjcObject): _CNLabeledValue;
    /**
     * @abstract Get a localized label. @discussion Some labels are special keys representing generic labels. Use this to obtain a localized string for a label to display to a user. @param label to localize. @return The localized string if a Contacts framework defined label, otherwise just returns the label.
     */
    static localizedStringForLabel$(label: _NSString): _NSString;
    /** Initializes the CNLabeledValue with a new identifier. */
    initWithLabel$value$(label: _NSString | null, value: NobjcObject): _CNLabeledValue;
    /** Returns a new CNLabeledValue with the existing value and identifier. */
    labeledValueBySettingLabel$(label: _NSString | null): _CNLabeledValue;
    /** Returns a new CNLabeledValue with the existing label and identifier. */
    labeledValueBySettingValue$(value: NobjcObject): _CNLabeledValue;
    /** Returns a new CNLabeledValue with the existing identifier. */
    labeledValueBySettingLabel$value$(label: _NSString | null, value: NobjcObject): _CNLabeledValue;
    /**
     * The identifier is unique among contacts on the device. It can be saved and used for finding labeled values next application launch.
     */
    identifier(): _NSString;
    label(): _NSString | null;
    value(): NobjcObject;
}
export interface _CNLabeledValue extends _NSCopying, _NSSecureCoding {
}
