function close( fd, clbk ) { // eslint-disable-line stdlib/no-redeclare
	if ( !isNonNegativeInteger( fd ) ) {
		throw new TypeError( format( 'invalid argument. First argument must be a valid file descriptor (i.e., nonnegative integer). Value: `%s`.', fd ) );
	}
	if ( !isFunction( clbk ) ) {
		throw new TypeError( format( 'invalid argument. Last argument must be a function. Value: `%s`.', clbk ) );
	}
	native( fd, clbk );
}
Asynchronously closes a file descriptor.

@param {NonNegativeInteger} fd - file descriptor
@param {Function} clbk - callback to invoke after closing a file descriptor
@throws {TypeError} first argument must be a valid file descriptor (nonnegative integer)
@throws {TypeError} last argument must be a function

@example
var openSync = require( '@stdlib/fs/open' ).sync;

function done( error ) {
    if ( error ) {
        throw error;
    }
}

var fd = openSync( __filename, 'r+' );
if ( fd instanceof Error ) {
    throw fd;
}

close( fd, done );