import { IModelsClient as ManagementIModelsClient, IModelsClientOptions as ManagementIModelsClientOptions } from "@itwin/imodels-client-management";
import { ClientStorage } from "@itwin/object-storage-core";
import { LocalFileSystem } from "./base/types";
import { BaselineFileOperations, BriefcaseOperations, ChangesetExtendedDataOperations, ChangesetGroupOperations, ChangesetOperations, IModelOperations, LockOperations, OperationOptions } from "./operations";
/** User-configurable iModels client options. */
export interface IModelsClientOptions extends ManagementIModelsClientOptions {
    /**
     * Local filesystem to use in operations which transfer files. Examples of such operations are Changeset download in
     * {@link ChangesetOperations}, iModel creation from Baseline in {@link iModelOperations}. If `undefined` the default
     * is used which is `LocalFsImpl` that is implemented using Node's `fs` module.
     */
    localFileSystem?: LocalFileSystem;
    /**
     * Storage handler to use in operations which transfer files. Examples of such operations are Changeset download in
     * {@link ChangesetOperations}, iModel creation from Baseline in {@link iModelOperations}. You can use
     * {@link createDefaultClientStorage} which supports both Azure and Google storage.
     */
    cloudStorage: ClientStorage;
}
/**
 * iModels API client for iModel authoring workflows. For more information on the API visit the
 * {@link https://developer.bentley.com/apis/imodels-v2/ iModels API documentation page}.
 */
export declare class IModelsClient extends ManagementIModelsClient {
    protected _operationsOptions: OperationOptions;
    /**
     * Class constructor.
     * @param {iModelsClientOptions} options client options. If `options` are `undefined` or if some of the properties
     * are `undefined` the client uses defaults. See {@link iModelsClientOptions}.
     */
    constructor(options: IModelsClientOptions);
    /**
     * `ClientStorage` instance that is used for file transfer operations. This uses the user provided instance or default one,
     * see {@link IModelsClientOptions}.
     */
    get cloudStorage(): ClientStorage;
    /** iModel operations. See {@link iModelOperations}. */
    get iModels(): IModelOperations<OperationOptions>;
    /** Baseline file operations. See {@link BaselineFileOperations}. */
    get baselineFiles(): BaselineFileOperations<OperationOptions>;
    /** Briefcase operations. See {@link BriefcaseOperations}. */
    get briefcases(): BriefcaseOperations<OperationOptions>;
    /** Changeset operations. See {@link ChangesetOperations}. */
    get changesets(): ChangesetOperations<OperationOptions>;
    /** Changeset Extended Data operations. See {@link ChangesetExtendedDataOperations}. */
    get changesetExtendedData(): ChangesetExtendedDataOperations<OperationOptions>;
    /** Changeset Group operations. See {@link ChangesetGroupOperations}. */
    get changesetGroups(): ChangesetGroupOperations<OperationOptions>;
    /** Lock operations. See {@link LockOperations}. */
    get locks(): LockOperations<OperationOptions>;
    private static fillAuthoringClientConfiguration;
}
//# sourceMappingURL=IModelsClient.d.ts.map