import { Aspect, Metadata, ObjectSchema, Security } from "@autorest/codemodel";
export class Client extends Aspect {
    constructor(name, description, objectInitializer) {
        super(name, description, objectInitializer);
        this.operationGroups = [];
        this.security = new Security(false);
        this.applyTo(this, objectInitializer);
    }
    get globals() {
        return this.globalParameters || (this.globalParameters = []);
    }
    addGlobalParameters(parameters) {
        this.globals.push(...parameters);
    }
}
export class ServiceVersion extends Metadata {
    constructor(name, description, initializer) {
        super();
        this.apply({
            language: {
                default: {
                    name: name,
                    description: description,
                },
            },
        }, initializer);
    }
}
export class ObjectScheme extends ObjectSchema {
    constructor(name, description, objectInitializer) {
        super(name, description, objectInitializer);
    }
}
//# sourceMappingURL=client.js.map