export = Column;
/**
 * Creates a new Column.
 *
 * @param {Object} options
 * @param {Object} options.columnMetadata
 * @param {Number} options.index
 * @param {Object} options.statementParameters
 * @param {String} options.resultVersion
 * @param {Function} options.onPrecisionLoss
 * @param {Function} options.onNonJsonCompliantVariant
 *
 * @constructor
 */
declare function Column({ columnMetadata, index, statementParameters, resultVersion, onPrecisionLoss, onNonJsonCompliantVariant, }: {
    columnMetadata: Object;
    index: number;
    statementParameters: Object;
    resultVersion: string;
    onPrecisionLoss: Function;
    onNonJsonCompliantVariant: Function;
}): void;
declare class Column {
    /**
     * Creates a new Column.
     *
     * @param {Object} options
     * @param {Object} options.columnMetadata
     * @param {Number} options.index
     * @param {Object} options.statementParameters
     * @param {String} options.resultVersion
     * @param {Function} options.onPrecisionLoss
     * @param {Function} options.onNonJsonCompliantVariant
     *
     * @constructor
     */
    constructor({ columnMetadata, index, statementParameters, resultVersion, onPrecisionLoss, onNonJsonCompliantVariant, }: {
        columnMetadata: Object;
        index: number;
        statementParameters: Object;
        resultVersion: string;
        onPrecisionLoss: Function;
        onNonJsonCompliantVariant: Function;
    });
    /**
     * Returns the name of this column.
     *
     * @return {String}
     */
    getName: () => string;
    /**
     * Returns the index of this column.
     *
     * @return {Number}
     */
    getIndex: () => number;
    /**
     * Returns the id of this column.
     *
     * @return {Number}
     */
    getId: () => number;
    /**
     * Determines if this column is nullable.
     *
     * @returns {Boolean}
     */
    isNullable: () => boolean;
    /**
     * Returns the scale associated with this column.
     *
     * @returns {Number}
     */
    getScale: () => number;
    /**
     * Returns the type associated with this column.
     *
     * @returns {String}
     */
    getType: () => string;
    /**
     * Returns the precision associated with this column
     *
     * @returns {Number}
     */
    getPrecision: () => number;
    isString: Function;
    isBinary: Function;
    isNumber: Function;
    isBoolean: Function;
    isDate: Function;
    isTime: Function;
    isTimestamp: Function;
    isTimestampLtz: Function;
    isTimestampNtz: Function;
    isTimestampTz: Function;
    isVariant: Function;
    isObject: Function;
    isArray: Function;
    isMap: Function;
    /**
     * Returns the value of this column in a row.
     *
     * @param {Object} row
     *
     * @returns {*}
     */
    getRowValue: (row: Object) => any;
    /**
     * Returns the value of this in a row as a String.
     *
     * @param {Object} row
     *
     * @returns {String}
     */
    getRowValueAsString: (row: Object) => string;
}
