import { Schema, SchemaContext, SchemaKey } from "@itwin/ecschema-metadata";
import { IModelIncrementalSchemaLocater } from "../../IModelIncrementalSchemaLocater";
import { IModelDb } from "../../IModelDb";
interface Options {
    readonly bimFile?: string;
    readonly incrementalSchemaLoading?: "enabled" | "disabled" | undefined;
}
type SchemaLocaterType<TOptions> = TOptions extends {
    incrementalSchemaLoading: "disabled";
} ? never : IModelIncrementalSchemaLocater;
export declare class TestContext<TLocater = never> implements AsyncDisposable {
    private readonly _iModel;
    private readonly _schemaLocater;
    private readonly _assetContext;
    private constructor();
    get iModel(): IModelDb;
    get schemaLocater(): TLocater;
    get schemaContext(): SchemaContext;
    static create<TOptions extends Options>(options?: TOptions): Promise<TestContext<SchemaLocaterType<TOptions>>>;
    private static loadIModelFile;
    private static createIModel;
    getSchemaNames(): Promise<string[]>;
    importAssetSchema(schemaKey: SchemaKey): Promise<Schema>;
    [Symbol.asyncDispose](): Promise<void>;
}
export {};
//# sourceMappingURL=TestContext.d.ts.map