/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.0-rc1
 * Contact: hello@goauthentik.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { DeviceFactsOSFamily } from './DeviceFactsOSFamily';
/**
 * For example:
 * {"family":"linux","name":"Ubuntu","version":"24.04.3 LTS (Noble Numbat)","arch":"amd64"}
 * {"family": "windows","name":"Server 2022 Datacenter","version":"10.0.20348.4405","arch":"amd64"}
 * {"family": "windows","name":"Server 2022 Datacenter","version":"10.0.20348.4405","arch":"amd64"}
 * {"family": "mac_os", "name": "", "version": "26.2", "arch": "arm64"}
 * @export
 * @interface OperatingSystem
 */
export interface OperatingSystem {
    /**
     *
     * @type {DeviceFactsOSFamily}
     * @memberof OperatingSystem
     */
    family: DeviceFactsOSFamily;
    /**
     * Operating System name, such as 'Server 2022' or 'Ubuntu'
     * @type {string}
     * @memberof OperatingSystem
     */
    name?: string;
    /**
     * Operating System version, must always be the version number but may contain build name
     * @type {string}
     * @memberof OperatingSystem
     */
    version?: string;
    /**
     *
     * @type {string}
     * @memberof OperatingSystem
     */
    arch: string;
}
/**
 * Check if a given object implements the OperatingSystem interface.
 */
export declare function instanceOfOperatingSystem(value: object): value is OperatingSystem;
export declare function OperatingSystemFromJSON(json: any): OperatingSystem;
export declare function OperatingSystemFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperatingSystem;
export declare function OperatingSystemToJSON(json: any): OperatingSystem;
export declare function OperatingSystemToJSONTyped(value?: OperatingSystem | null, ignoreDiscriminator?: boolean): any;
//# sourceMappingURL=OperatingSystem.d.ts.map