import type { FeatureCategory } from './FeatureCategory';
/**
 *
 * @export
 * @interface Feature
 */
export interface Feature {
    /**
     * The features that must be enabled for this feature to work properly.
     * @type {Array<number>}
     * @memberof Feature
     */
    readonly requiredFeatures?: Array<number>;
    /**
     * Whether the feature is visible to the user.
     * @type {boolean}
     * @memberof Feature
     */
    readonly visible?: boolean;
    /**
     * The path to the feature's logo image.
     * @type {string}
     * @memberof Feature
     */
    readonly logoPath?: string;
    /**
     * When listing features, they can be sorted by this number.
     * @type {number}
     * @memberof Feature
     */
    readonly sortOrder?: number;
    /**
     * The localized name of the object.
     * @type {{ [key: string]: string; }}
     * @memberof Feature
     */
    readonly name?: {
        [key: string]: string;
    };
    /**
     * The localized description of the object.
     * @type {{ [key: string]: string; }}
     * @memberof Feature
     */
    readonly description?: {
        [key: string]: string;
    };
    /**
     * A unique identifier for the object.
     * @type {number}
     * @memberof Feature
     */
    readonly id?: number;
    /**
     *
     * @type {FeatureCategory}
     * @memberof Feature
     */
    category?: FeatureCategory;
    /**
     * Whether the feature is in beta stage and there may still be some issues.
     * @type {boolean}
     * @memberof Feature
     */
    readonly beta?: boolean;
}
/**
 * Check if a given object implements the Feature interface.
 */
export declare function instanceOfFeature(value: object): value is Feature;
export declare function FeatureFromJSON(json: any): Feature;
export declare function FeatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): Feature;
export declare function FeatureToJSON(json: any): Feature;
export declare function FeatureToJSONTyped(value?: Omit<Feature, 'requiredFeatures' | 'visible' | 'logoPath' | 'sortOrder' | 'name' | 'description' | 'id' | 'beta'> | null, ignoreDiscriminator?: boolean): any;
