import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _ODMappings } from "./ODMappings.js";
export declare class _ODModuleEntry extends _NSObject {
    static alloc(): _ODModuleEntry;
    static new(): _ODModuleEntry;
    init(): _ODModuleEntry;
    /**
     * @method moduleEntryWithName:xpcServiceName: @abstract Creates a new module entry with a given name and service. @discussion Creates a new module entry with a given name and service.
     */
    static moduleEntryWithName$xpcServiceName$(name: _NSString, xpcServiceName: _NSString): _ODModuleEntry;
    /**
     * @method setOption:value: @abstract Assigns a particular option for this module. @discussion Options are dictated by the module and can be queried via [module supportedOptions].
     */
    setOption$value$(optionName: _NSString, value: NobjcObject): void;
    /**
     * @method option: @abstract Fetches the current setting for the requested option. @discussion Fetches the current setting for the requested option.
     */
    option$(optionName: _NSString): NobjcObject;
    /** mappings that are specific to this module configuration */
    mappings(): _ODMappings;
    setMappings$(value: _ODMappings): void;
    /**
     * A list supported options for a module. The list will contain dictionaries with keys ODModuleOptionName, ODModuleOptionType, etc.
     */
    supportedOptions(): _NSArray;
    /** Name of the module, used in logging, etc. */
    name(): _NSString;
    setName$(value: _NSString): void;
    /** XPCService to be used for this module */
    xpcServiceName(): _NSString;
    setXpcServiceName$(value: _NSString): void;
    /**
     * A UUID in string form that uniquely identifies this configuration, will be assigned automatically if missing
     */
    uuidString(): _NSString;
    setUuidString$(value: _NSString): void;
}
