import { Comment } from './comment'; import { Output } from './output'; import { Value } from './value'; export interface ObjectPropertyOptions { order?: number; leadingComment?: Comment; trailingComment?: Comment; } export declare class ObjectProperty { name: string; value: Value; options?: ObjectPropertyOptions; constructor(name: string, value: Value, options?: ObjectPropertyOptions); } export type ObjectPropertySorter = (a: ObjectProperty, b: ObjectProperty) => number; export interface ObjectValueOptions { sort?: ObjectPropertySorter; } export declare function sortObjectPropertiesByName(a: ObjectProperty, b: ObjectProperty): number; export declare function sortObjectPropertiesByOrder(a: ObjectProperty, b: ObjectProperty): number; export declare function sortObjectPropertiesByOrderAndName(a: ObjectProperty, b: ObjectProperty): number; export declare class ObjectValue extends Value { value: ObjectProperty[]; options?: ObjectValueOptions; constructor(value: ObjectProperty[], options?: ObjectValueOptions); isEmpty(): boolean; render(output: Output): void; }