/// <reference types="node" />
import { BackendAuthorizationClientConfiguration } from "@bentley/backend-itwin-client";
import { DevToolsRpcInterface, IModelReadRpcInterface, IModelTileRpcInterface, IModelWriteRpcInterface } from "@bentley/imodeljs-common";
import { TestUserCredentials } from "@bentley/oidc-signin-tool";
import { PresentationRpcInterface } from "@bentley/presentation-common";
export interface Backend {
    version: string;
    location: string;
    name: string;
    path: string;
}
/**
 * Holds the information required to u identify an iModel
 */
export interface IModelData {
    useName: boolean;
    id?: string;
    name?: string;
    useProjectName: boolean;
    projectId?: string;
    projectName?: string;
    changeSetId?: string;
}
export declare function getRpcInterfaces(settings: Settings): (typeof DevToolsRpcInterface | typeof PresentationRpcInterface | typeof IModelReadRpcInterface | typeof IModelWriteRpcInterface | typeof IModelTileRpcInterface)[];
export declare class Settings {
    private _backend;
    env: number;
    oidcClientId: string;
    oidcScopes: string;
    oidcRedirect: string;
    imsUrl: string;
    gprid?: string;
    logLevel?: number;
    users: TestUserCredentials[];
    clientConfiguration?: BackendAuthorizationClientConfiguration;
    iModels: IModelData[];
    get iModel(): IModelData;
    get writeIModel(): IModelData;
    get user(): TestUserCredentials;
    get Backend(): Backend;
    get runiModelTileRpcTests(): boolean;
    get runPresentationRpcTests(): boolean;
    get runiModelReadRpcTests(): boolean;
    get runiModelWriteRpcTests(): boolean;
    get runDevToolsRpcTests(): boolean;
    constructor(env: NodeJS.ProcessEnv);
    /** Loads the necessary variables from `process.env`.
     */
    private load;
    toString(): string;
}
//# sourceMappingURL=Settings.d.ts.map