import { DefaultValueContainer, TypeContainer, TypeParameterContainer, TraverseCallback } from './abstract'; import { Type } from '../types/index'; import { ContainerReflection } from './container'; import { SignatureReflection } from './signature'; import { TypeParameterReflection } from './type-parameter'; export interface DeclarationHierarchy { types: Type[]; next?: DeclarationHierarchy; isTarget?: boolean; } export declare class DeclarationReflection extends ContainerReflection implements DefaultValueContainer, TypeContainer, TypeParameterContainer { type?: Type; typeParameters?: TypeParameterReflection[]; signatures?: SignatureReflection[]; indexSignature?: SignatureReflection; getSignature?: SignatureReflection; setSignature?: SignatureReflection; defaultValue?: string; overwrites?: Type; inheritedFrom?: Type; implementationOf?: Type; extendedTypes?: Type[]; extendedBy?: Type[]; implementedTypes?: Type[]; implementedBy?: Type[]; typeHierarchy?: DeclarationHierarchy; hasGetterOrSetter(): boolean; getAllSignatures(): SignatureReflection[]; traverse(callback: TraverseCallback): void; toObject(): any; toString(): string; }