import { ColumnOptions } from '../decorator/options/ColumnOptions';
import { ColumnMode } from './types/ColumnMode';

/**
 * Arguments for ColumnMetadata class.
 */
export interface ColumnMetadataArgs {
	/**
	 * Class to which column is applied.
	 */
	readonly target: Function | string;

	/**
	 * Class's property name to which column is applied.
	 */
	readonly propertyName: string;

	/**
	 * Column mode in which column will work.
	 *
	 * todo: find name better then "mode".
	 */
	readonly mode: ColumnMode;

	/**
	 * Extra column options.
	 */
	readonly options: ColumnOptions;
}
