import type { Position, ProgramBuilder, Range } from 'brighterscript'; import type { ExtractMethods, DisposableLike } from '../interfaces'; import type { BscProject, ScopeFunction } from './BscProject'; export declare class BscProjectThreaded implements ExtractMethods { logger: import("@rokucommunity/logger").Logger; private worker; private messageHandler; private activateDeferred; private errorDeferred; /** * Has this project finished activating (either resolved or rejected...) */ get isActivated(): boolean; /** * If an error occurs at any time during the worker's lifetime, it will be caught and stored here. */ isErrored(): boolean; private ready; activate(options: Parameters[0]): Promise; /** * Get all of the functions available for all scopes for this file. */ getScopeFunctionsForFile(options: { relativePath: string; }): Promise>; /** * Get the range of the scope that contains the specified position */ getScopeRange(options: { relativePath: string; position: Position; }): Promise; /** * Send a request with the standard structure * @param name the name of the request * @param data the array of data to send * @returns the response from the request */ private sendStandardRequest; /** * If the client sends a request, it will be processed here */ private processRequest; /** * If the client sends an update, it will be processed here */ private processUpdate; /** * List of disposables to clean up when this instance is disposed */ disposables: DisposableLike[]; /** * Clean up all resources used by this instance */ dispose(): void; }