package com.atlassian.bitbucket.scm.git.command.config;

import com.atlassian.bitbucket.scm.git.command.GitCommandBuilderSupport;

import javax.annotation.Nonnull;

public interface TypedGitConfigBuilder<T extends TypedGitConfigBuilder<T>> extends GitCommandBuilderSupport<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);
}
