import { Pathy } from '@bscotch/pathy';
import { GmlSpec } from './project.spec.js';
import { Type, type StructType } from './types.js';
export declare class Native {
    readonly globalSelf: StructType;
    readonly types: Map<string, Type>;
    protected specs: GmlSpec[];
    objectInstanceBase: StructType;
    protected constructor(globalSelf: StructType, types: Map<string, Type>);
    protected load(): void;
    protected loadVariables(spec: GmlSpec): void;
    protected loadFunctions(spec: GmlSpec): void;
    protected loadConstants(spec: GmlSpec): void;
    protected loadStructs(spec: GmlSpec): void;
    static from(filePaths: Pathy[] | undefined, globalSelf: StructType, types: Map<string, Type>): Promise<Native>;
    static parse(specFilePath: string): Promise<GmlSpec>;
    static readonly fallbackGmlSpecPath: Pathy<unknown>;
    static findHelpLinksFile(ideVersion: string): Promise<Pathy<{
        [method: string]: string;
    }> | undefined>;
    static listSpecFiles(options: {
        runtimeVersion?: string;
        ideVersion?: string;
    }): Promise<Pathy[]>;
}
//# sourceMappingURL=project.native.d.ts.map