function create( fullPath ) {
	var RE_DOC_MAIN_DECLARE;
	var copyrightYear;
	var nsIdentifier;
	var defFilePath;
	var description;
	var importStmts;
	var entryPoint;
	var mainExport;
	var properties;
	var indexFile;
	var tsDefPath;
	var testFile;
	var typesDir;
	var defFile;
	var pkgPath;
	var match;
	var tsDef;
	var tsDoc;
	var name;
	var last;
	var prop;
	var stmt;
	var str;
	var ns;
	var RE;

	importStmts = [];
	properties = [];

	if ( fullPath === '@stdlib/stdlib' ) {
		// Special case of creating type definitions for the main `@stdlib/stdlib` package:
		ns = 'stdlib';
		entryPoint = path.join( rootDir(), 'lib', 'main.js' );
	}
	else {
		ns = path.basename( fullPath );
		entryPoint = require.resolve( fullPath );
	}
	fullPath = path.join( entryPoint, '..', '..' );
	typesDir = path.join( fullPath, 'docs', 'types' );

	if ( !fs.existsSync( typesDir ) ) {
		return;
	}
	defFilePath = path.join( typesDir, 'index.d.ts' );

	if ( fs.existsSync( defFilePath ) ) {
		// Use existing copyright year from definition file if available...
		defFile = fs.readFileSync( defFilePath, 'utf8' );
		match = defFile.match( RE_COPYRIGHT_YEAR );
		copyrightYear = ( match ) ? match[ 1 ] : currentYear();
	} else {
		// Use current year as copyright year:
		copyrightYear = currentYear();
	}

	// Extract the copyright year from the existing definition file...
	RE_DOC_MAIN_DECLARE = /@declare\s+(\w+)\s+\((\w+)\)/;

	indexFile = fs.readFileSync( entryPoint, 'utf-8' );
	console.log( 'Loading '+entryPoint+'...' );
	if ( !RE_NAMESPACE.test( indexFile ) ) {
		return;
	}
	nsIdentifier = RE_NAMESPACE.exec( indexFile )[ 1 ];
	nsIdentifier = removePunctuation( nsIdentifier );
	RE = new RegExp( 'setReadOnly\\( '+nsIdentifier+', \'([a-z0-9_]+)\', require\\( \'([^\']+)\' \\) \\)', 'ig' );
	match = RE.exec( indexFile );
	if ( !match ) {
		nsIdentifier = 'ns';
		RE = new RegExp( 'setReadOnly\\( '+nsIdentifier+', \'([a-z0-9_]+)\', require\\( \'([^\']+)\' \\) \\)', 'ig' );
		match = RE.exec( indexFile );
	}
	while ( match !== null ) {
		name = match[ 1 ];
		pkgPath = match[ 2 ];

		tsDefPath = replace( require.resolve( pkgPath ), 'lib/index.js', 'docs/types/index.d.ts' );
		if ( fs.existsSync( tsDefPath ) ) {
			stmt = replace( IMPORT_STATEMENT, '<name>', name );
			stmt = replace( stmt, '<path>', pkgPath );
			importStmts.push( stmt );

			tsDef = fs.readFileSync( tsDefPath, 'utf-8' );
			mainExport = tsDef.match( RE_TS_EXPORT );
			RE_DOC_MAIN_DECLARE = new RegExp( '(\\/\\*\\*\\n[\\s\\S]+?\\*\\/)\ndeclare (function|var|const) '+mainExport[ 1 ]+'([\\s\\S]*): ([\\s\\S]+?);' );
			last = tsDef.lastIndexOf( '/**' );
			tsDoc = tsDef.substring( last ).match( RE_DOC_MAIN_DECLARE );
			if ( !tsDoc ) {
				tsDoc = tsDef.match( /(\/\*\*\n[^/]+?\*\/)\ndeclare class/ );
			}
			prop = '\t'+name+': typeof '+name+';';
			if ( tsDoc && tsDoc[ 1 ] ) {
				str = tsDoc[ 1 ];
				str = replace( str, RE_EXAMPLE, onReplace );
				str = replace( str, '\n', '\n\t' );
				prop = '\t' + str + '\n' + prop;
			}
			else {
				tsDoc = tsDef.match( /(\/\*\*\n[\s\S]+?\*\/)\nexport =/ );
				if ( tsDoc && tsDoc[ 1 ] ) {
					str = tsDoc[ 1 ];
					str = replace( str, RE_EXAMPLE, onReplace );
					str = replace( str, '\n', '\n\t' );
					prop = '\t' + str + '\n' + prop;
				}
			}
			match = RE.exec( indexFile );
			if ( match ) {
				prop += '\n';
			}
			properties.push( prop );
		} else {
			match = RE.exec( indexFile );
		}
	}
	description = readJSON( path.join( fullPath, 'package.json' ) ).description;

	console.log( 'Writing definition file...' );
	defFile = createDefinitionFile( ns, importStmts, properties, description );
	defFile = replace( defFile, '{{year}}', String( copyrightYear ) );
	fs.writeFileSync( defFilePath, defFile );

	console.log( 'Writing test file...' );
	testFile = createTestFile( ns );
	testFile = replace( testFile, '{{year}}', String( copyrightYear ) );
	fs.writeFileSync( path.join( typesDir, 'test.ts' ), testFile );

	/**
	* Replaces variable names inside of example code to use exported namespace methods.
	*
	* @private
	* @param {string} match - example code
	* @returns {string} example code using namespace exports
	*/
	function onReplace( match ) {
		var RE;

		match = replace( match, mainExport[ 1 ], name );
		RE = new RegExp( '([^a-zA-Z@])'+name, 'g' );
		return replace( match, RE, '$1ns.'+name );
	}
}
Creates Typescript definition and test files for the chosen namespace.

@private
@param {string} fullPath - full namespace name
@returns {void}