/** @packageDocumentation
 * @module Elements
 */
import { Id64String } from "@itwin/core-bentley";
import { ChannelControl, ChannelKey, ChannelUpgradeOptions } from "../ChannelControl";
import { IModelDb } from "../IModelDb";
import { _implementationProhibited, _verifyChannel } from "./Symbols";
declare class ChannelAdmin implements ChannelControl {
    private _iModel;
    static readonly channelClassName = "bis:ChannelRootAspect";
    readonly [_implementationProhibited]: undefined;
    private _allowedChannels;
    private _allowedModels;
    private _deniedModels;
    constructor(_iModel: IModelDb);
    addAllowedChannel(channelKey: ChannelKey): void;
    removeAllowedChannel(channelKey: ChannelKey): void;
    getChannelKey(elementId: Id64String): ChannelKey;
    [_verifyChannel](modelId: Id64String): void;
    makeChannelRoot(args: {
        elementId: Id64String;
        channelKey: ChannelKey;
    }): void;
    insertChannelSubject(args: {
        subjectName: string;
        channelKey: ChannelKey;
        parentSubjectId?: Id64String;
        description?: string;
    }): Id64String;
    queryChannelRoot(channelKey: ChannelKey): Id64String | undefined;
    upgradeChannel(options: ChannelUpgradeOptions, iModel: IModelDb, data?: any): Promise<void>;
}
export declare function createChannelControl(iModel: IModelDb): ChannelAdmin;
export {};
//# sourceMappingURL=ChannelAdmin.d.ts.map