function createDefinitionFile( ns, imports, properties, description ) {
	var lines = [
		'/*',
		'* @license Apache-2.0',
		'*',
		'* Copyright (c) {{year}} The Stdlib Authors.',
		'*',
		'* Licensed under the Apache License, Version 2.0 (the "License");',
		'* you may not use this file except in compliance with the License.',
		'* You may obtain a copy of the License at',
		'*',
		'*    http://www.apache.org/licenses/LICENSE-2.0',
		'*',
		'* Unless required by applicable law or agreed to in writing, software',
		'* distributed under the License is distributed on an "AS IS" BASIS,',
		'* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.',
		'* See the License for the specific language governing permissions and',
		'* limitations under the License.',
		'*/',
		'',
		'// TypeScript Version: 4.1',
		'',
		'/* eslint-disable max-lines' + ( ( properties.length === 0 ) ? ', @typescript-eslint/no-empty-interface' : '' ) + ' */'
	];
	if ( imports.length > 0 ) {
		lines.push( '', imports.join( '\n' ), '' );
	} else {
		lines.push( '' );
	}
	lines = lines.concat([
		'/**',
		'* Interface describing the `'+ns+'` namespace.',
		'*/'
	]);
	if ( properties.length > 0 ) {
		lines.push( 'interface Namespace {', properties.join( '\n' ), '}' );
	} else {
		lines.push( 'interface Namespace {}' );
	}
	lines = lines.concat([
		'',
		'/**',
		'* '+description,
		'*/',
		'declare var ns: Namespace;',
		'',
		'',
		'// EXPORTS //',
		'',
		'export = ns;',
		''
	]);
	return lines.join( '\n' );
}
Returns contents of a `index.d.ts` definition file for the chosen namespace.

@private
@param {string} ns - namespace name
@param {Array<string>} imports - import statements for namespace packages
@param {Array<string>} properties - interface property documentation for namespace contents
@param {string} description - namespace description
@returns {string} `index.d.ts` contents