Então para interface você usa para a definição das propriedades estáticas e métodos ao invés do retorno e o retorno você aplica o type?

Exemplo:

type RetornoType = {
  dado1: string;
  dado2: number;
};

interface TesteInterface {
  meuMetodo: () => RetornoType;
}

class Teste implements TesteInterface {
  meuMetodo(): RetornoType {
    return {
      dado1: 'oi',
      dado2: 123,
    };
  }
}

Mais ou menos isso mesmo. interface para definir comportamentos/contratos, e type para definir estruturas.