import { IDirtyClean } from '../dirty-clean'; import { IDirtyProp } from '../dirty-props'; export declare type IDirtyPropOpts = Pick; export declare type PositionUnit = 'cell' | 'px'; export declare type PositionSpace = 'data' | 'virtual' | 'real'; export declare const toStandardSpace: (space: PositionSpace) => "data" | "view" | "virtual"; export interface IRawPositionRange { top: number; left: number; height: number; width: number; } export declare type RawPositionRange = IRawPositionRange; export declare type PartialRawPositionRange = Partial; export declare type RawPositionRangeUnion = RawPositionRange | PartialRawPositionRange; export interface IPartialPositionRange extends PartialRawPositionRange { units: PositionUnit; space: PositionSpace; isDirty(): boolean; } export declare type PositionType = T['top']; export declare type SizeType = T['height']; export declare type PositionGet = (r: T) => PositionType; export declare type PositionSet = (r: T, p: PositionType) => T; export declare type SizeGet = (r: T) => SizeType; export declare type SizeSet = (r: T, p: SizeType) => T; export interface IPositionRangeDimension { getPosition: PositionGet; setPosition: PositionSet; getSize: SizeGet; setSize: SizeSet; } export declare const rowPositionRangeDimension: IPositionRangeDimension; export declare const colPositionRangeDimension: IPositionRangeDimension; export declare function mixin(range: T, dirtyClean: IDirtyClean, parentDirtyClean?: IDirtyClean, propOpts?: IDirtyPropOpts): IPartialPositionRange & T; export default mixin;