import * as Lint from "tslint"; import * as ts from "typescript"; export declare class Rule extends Lint.Rules.TypedRule { static metadata: Lint.IRuleMetadata; static FAILURE_STRING: string; applyWithProgram(sourceFile: ts.SourceFile, program: ts.Program): Lint.RuleFailure[]; } export declare class Walker extends Lint.ProgramAwareRuleWalker { private _associationsByIdentifier; private _declarationsByIdentifier; private _deletes; private _ignored; private _scopes; private _withoutDeclarations; private _usageByIdentifier; private _validate; constructor(sourceFile: ts.SourceFile, rawOptions: Lint.IOptions, program: ts.Program); protected visitClassDeclaration(node: ts.ClassDeclaration): void; protected visitEnumDeclaration(node: ts.EnumDeclaration): void; protected visitFunctionDeclaration(node: ts.FunctionDeclaration): void; protected visitIdentifier(node: ts.Identifier): void; protected visitImportDeclaration(node: ts.ImportDeclaration): void; protected visitImportEqualsDeclaration(node: ts.ImportEqualsDeclaration): void; protected visitInterfaceDeclaration(node: ts.InterfaceDeclaration): void; protected visitJsxSelfClosingElement(node: ts.JsxSelfClosingElement): void; protected visitJsxElement(node: ts.JsxElement): void; protected visitNamedImports(node: ts.NamedImports): void; protected visitNamespaceImport(node: ts.NamespaceImport): void; protected visitNode(node: ts.Node): void; protected visitObjectLiteralExpression(node: ts.ObjectLiteralExpression): void; protected visitTypeAliasDeclaration(node: ts.TypeAliasDeclaration): void; protected visitVariableStatement(node: ts.VariableStatement): void; private associate; private declared; private getFix; private getScopedIdentifier; private onSourceFileEnd; private seen; private seenJsx; private setScopedIdentifier; private used; }