package com.atlassian.bitbucket.mesh.git.builder.config;

import com.atlassian.bitbucket.mesh.git.builder.GitProcessBuilderSupport;

import javax.annotation.Nonnull;

public interface TypedGitConfigBuilder<T extends TypedGitConfigBuilder<T>> extends GitProcessBuilderSupport<T> {

    /**
     * Controls validation and transformation applied by {@code git config} when adding, getting and setting variables.
     *
     * @param type the type of variable to require
     * @return {@code this}
     */
    @Nonnull
    T type(@Nonnull GitConfigType type);
}
