import type { CaptureMatch, ParsedImport, Scope, ScopeId, ScopeTree, TypeRef, NodeLabel } from '../../../../_shared/index.js';
import type { SyntaxNode } from '../../utils/ast-helpers.js';
export declare function rubyBindingScopeFor(decl: CaptureMatch, innermost: Scope, _tree: ScopeTree): ScopeId | null;
/**
 * Ruby `require` / `include` inside a function or class body should attach
 * at that scope, not module scope.
 */
export declare function rubyImportOwningScope(_imp: ParsedImport, innermost: Scope, _tree: ScopeTree): ScopeId | null;
export declare function rubyReceiverBinding(functionScope: Scope): TypeRef | null;
/**
 * Reclassify top-level `def` as `'Method'` when it appears inside a
 * `class` or `module` body. Stand-alone defs remain `'Function'`.
 */
export declare function rubyFunctionDefinitionLabel(functionNode: SyntaxNode, defaultLabel: NodeLabel): NodeLabel;
