Matriz datilografada de declaração de pares de valores-chave

Confuso sobre a seguinte declaração:

constructor(controls: {[key: string]: AbstractControl}, optionals?: {[key: string]: boolean}, validator?: ValidatorFn, asyncValidator?: AsyncValidatorFn)

Qual é o tipo dos controles (primeiro parâmetro)? É um objeto que é uma matriz de pares de valores-chave em que chave é string e o valor é AbstractControl? Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion