/**
 * Value specifying that Property should be set to its initial value.
 */
export declare const unsetValue: any;
export interface PropertyOptions<T, U> {
    readonly name: string;
    readonly defaultValue?: U;
    readonly affectsLayout?: boolean;
    readonly equalityComparer?: (x: U, y: U) => boolean;
    readonly valueChanged?: (target: T, oldValue: U, newValue: U) => void;
    readonly valueConverter?: (value: string) => U;
}
export interface CoerciblePropertyOptions<T, U> extends PropertyOptions<T, U> {
    readonly coerceValue: (t: T, u: U) => U;
}
export interface CssPropertyOptions<T, U> extends PropertyOptions<T, U> {
    readonly cssName: string;
}
export interface ShorthandPropertyOptions<P> {
    readonly name: string;
    readonly cssName: string;
    readonly converter: (value: string | P) => [any, any][];
    readonly getter: (this: any) => string | P;
}
export interface CssAnimationPropertyOptions<T, U> {
    readonly name: string;
    readonly cssName?: string;
    readonly defaultValue?: U;
    readonly equalityComparer?: (x: U, y: U) => boolean;
    readonly valueChanged?: (target: T, oldValue: U, newValue: U) => void;
    readonly valueConverter?: (value: string) => U;
}
export declare function isCssUnsetValue(value: any): boolean;
export declare function isResetValue(value: any): boolean;
export declare function isCssWideKeyword(value: any): boolean;
