// SPDX-License-Identifier: Apache-2.0
/**
 * A request to add a new Helm repository.
 */
export class RepositoryAddRequest {
    repository;
    options;
    constructor(repository, options) {
        this.repository = repository;
        this.options = options;
        if (!repository) {
            throw new Error('repository must not be null');
        }
        if (!repository.name || repository.name.trim() === '') {
            throw new Error('repository name must not be null or blank');
        }
        if (!repository.url || repository.url.trim() === '') {
            throw new Error('repository url must not be null or blank');
        }
    }
    apply(builder) {
        builder.subcommands('repo', 'add').positional(this.repository.name).positional(this.repository.url);
        // Apply options if provided
        if (this.options) {
            this.options.apply(builder);
        }
    }
}
//# sourceMappingURL=repository-add-request.js.map