declare module "ui/core/properties" { import { ViewBase } from "ui/core/view-base"; import { Style } from "ui/styling/style"; export { Style }; //@private export function _isSet(cssProperty: CssProperty, instance: Style): boolean; //@endprivate /** * Value specifing that Property should be set to its initial value. */ export const unsetValue: any; export interface PropertyOptions { 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 extends PropertyOptions { readonly coerceValue: (t: T, u: U) => U; } export interface CssPropertyOptions extends PropertyOptions { readonly cssName: string; } export interface CssAnimationPropertyOptions { 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 class CssAnimationProperty { constructor(options: CssAnimationPropertyOptions); public readonly name: string; public readonly cssName: string; public readonly native: symbol; readonly keyframe: string; public register(cls: { prototype: T }): void; public _valueConverter?: (value: string) => any; public static _getByCssName(name: string): CssAnimationProperty; } export class Property implements TypedPropertyDescriptor { constructor(options: PropertyOptions); public readonly native: symbol; public readonly defaultValue: U; public register(cls: { prototype: T }): void; public nativeValueChange(T, U): void; } export class CoercibleProperty extends Property implements TypedPropertyDescriptor { constructor(options: CoerciblePropertyOptions); public readonly coerce: (target: T) => void; } export class InheritedProperty extends Property { constructor(options: PropertyOptions); } export class CssProperty { constructor(options: CssPropertyOptions); public readonly native: symbol; public readonly name: string; public readonly cssName: string; public readonly defaultValue: U; public register(cls: { prototype: T }): void; } export class InheritedCssProperty extends CssProperty { constructor(options: CssPropertyOptions); } export interface ShorthandPropertyOptions

{ readonly name: string, readonly cssName: string; readonly converter: (value: string | P) => [CssProperty, any][], readonly getter: (this: Style) => string | P } export class ShorthandProperty { constructor(options: ShorthandPropertyOptions

); public readonly native: symbol; public readonly name: string; public readonly cssName: string; public register(cls: { prototype: T }): void; } export function initNativeView(view: ViewBase): void; export function resetNativeView(view: ViewBase): void; export function resetCSSProperties(style: Style): void; export function propagateInheritableProperties(view: ViewBase): void; export function propagateInheritableCssProperties(style: Style): void; export function makeValidator(...values: T[]): (value: any) => value is T; export function makeParser(isValid: (value: any) => boolean): (value: any) => T; }