import * as ts from 'typescript'; export declare function hasPropDecoratedWithName(classNode: ts.ClassDeclaration, decoratorName: string): boolean; export declare function propDecoratedWithName(node: ts.ClassDeclaration, decoratorName: string): Array; export declare function hasDecoratorNamed(decoratedNode: ts.PropertyDeclaration | ts.ClassDeclaration | ts.MethodDeclaration, name: string): boolean; export declare function decoratorNamed(tsDecorator: ts.Decorator, name: string): boolean; export declare function getDecoratorProperties(tsDecorator: ts.Decorator, index?: number): ts.ObjectLiteralExpression; export declare function getExpressionFromLiteralObject(tsLiteral: ts.ObjectLiteralExpression, key: string): T; export declare function getExpressionFromDecorator(tsDecorator: ts.Decorator, key: string, index?: number): T; export declare function getDecoratorNamed(tsDecoratedNode: { decorators?: ts.NodeArray; }, name: string): ts.Decorator | undefined; export declare function extractStringOptions(objectLitteral: ts.ObjectLiteralExpression, keys: Array): Partial; export declare function extractArrayOptions(objectLitteral: ts.ObjectLiteralExpression, keys: (keyof T)[]): { [P in keyof T]?: string[]; }; export declare function extractBooleanOptions(objectLitteral: ts.ObjectLiteralExpression, keys: (keyof T)[]): Partial;