import { default as Compiler } from '../..'; import { Filepath } from '../../../core/types/filepath'; import { ElementDeclarationNode, UseSpecifierNode, WildcardNode } from '../../../core/types/nodes'; import { default as Report } from '../../../core/types/report'; import { NodeSymbol, SchemaSymbol, ProgramSymbol } from '../../../core/types/symbol'; type UsableResult = { nonSchemaMembers: NodeSymbol[]; schemaMembers: SchemaSymbol[]; reuses: { selective: UseSpecifierNode[]; wildcard: { importPath: Filepath; node: WildcardNode; }[]; }; uses: { selective: UseSpecifierNode[]; wildcard: { importPath: Filepath; node: WildcardNode; }[]; }; }; export declare function usableMembers(this: Compiler, symbolOrFilepath: SchemaSymbol | ProgramSymbol | Filepath): Report; export type SchemaMembership = { kind: 'direct'; } | { kind: 'child'; schemaName: string; } | { kind: 'none'; }; export declare function schemaMembership(compiler: Compiler, schema: SchemaSymbol, element: ElementDeclarationNode | UseSpecifierNode): SchemaMembership; export {};