import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSIndexSet } from "../Foundation/NSIndexSet.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { NLLanguage } from "./NLLanguage.js";
import type { NLModelType } from "./NLModelType.js";
export declare class _NLModelConfiguration extends _NSObject {
    static alloc(): _NLModelConfiguration;
    static new(): _NLModelConfiguration;
    init(): _NLModelConfiguration;
    static supportedRevisionsForType$(type: NLModelType): _NSIndexSet;
    static currentRevisionForType$(type: NLModelType): number;
    type(): NLModelType;
    /**
     * Most models will be trained to support tagging for a specific language, specified using a standard language abbreviation.
     */
    language(): NLLanguage | null;
    /**
     * Each update to model training is specified by a particular revision number, and each model is labeled with the revision of the model training that was used to produce it. Each system version has a current revision for each model type, corresponding to the most recent revision of model training available, and a larger set of supported revisions for backward compatibility. A given revision will be supported for a number of system versions, but not indefinitely, and the set of supported revisions can be used to determine whether a given revision is still supported. Attempting to use a model from a revision that is no longer supported will fail with a suitable error.
     */
    revision(): number;
}
export interface _NLModelConfiguration extends _NSCopying, _NSSecureCoding {
}
