import { ServiceAuthorizationClientConfiguration } from "@itwin/service-authorization";
import { DevToolsRpcInterface, IModelReadRpcInterface, IModelTileRpcInterface } from "@itwin/core-common";
import { TestUserCredentials } from "@itwin/oidc-signin-tool";
import { PresentationRpcInterface } from "@itwin/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;
    useITwinName: boolean;
    iTwinId?: string;
    iTwinName?: string;
    changeSetId?: string;
}
export declare function getRpcInterfaces(settings: Settings): (typeof DevToolsRpcInterface | typeof PresentationRpcInterface | typeof IModelReadRpcInterface | typeof IModelTileRpcInterface)[];
export declare class Settings {
    private _backend;
    env: number;
    oidcClientId: string;
    oidcScopes: string;
    oidcRedirect: string;
    oidcAuthority?: string;
    gprid?: string;
    logLevel?: number;
    users: TestUserCredentials[];
    clientConfiguration?: ServiceAuthorizationClientConfiguration;
    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