import { Result } from "@gnuxie/typescript-result";
import { MatrixRoomID, StringUserID } from "@the-draupnir-project/matrix-basic-types";
import { ClientCapabilitiesNegotiation, ClientPlatform, EDStatic, MatrixAccountData, RoomCreator } from "matrix-protection-suite";
export declare const ZERO_TOUCH_DEPLOY_ROOM_ACCOUNT_DATA_TYPE = "space.draupnir.zero_touch_deploy_room";
export declare const ZeroTouchDeployRoomAccountDataSchema: import("@sinclair/typebox").TObject<{
    room: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TString, MatrixRoomID>;
}>;
export type ZeroTouchDeployRoomAccountData = EDStatic<typeof ZeroTouchDeployRoomAccountDataSchema>;
export declare function loadOrCreateZeroTouchDeployRoom(ZTDRoomAccountData: MatrixAccountData<ZeroTouchDeployRoomAccountData>, roomCreator: RoomCreator, clientCapabilitiesNegotiation: ClientCapabilitiesNegotiation, requestingUserID: StringUserID, draupnirUserID: StringUserID): Promise<Result<MatrixRoomID>>;
export declare function makeZeroTouchDeployRoom(ZTDRoomAccountData: MatrixAccountData<ZeroTouchDeployRoomAccountData>, roomCreator: RoomCreator, clientCapabilitiesNegotiation: ClientCapabilitiesNegotiation, requestingUserID: StringUserID, draupnirUserID: StringUserID): Promise<Result<MatrixRoomID>>;
export declare function loadZeroTouchDeployRoomFromConfig(configuredZTDRoom: string | undefined, configuredInitialManager: string | undefined, accountData: MatrixAccountData<ZeroTouchDeployRoomAccountData>, clientPlatform: ClientPlatform, clientUserID: StringUserID, options: {
    allowPermalinkForRoomConfig: boolean;
    configuredRoomPropertyName: string;
    configuredInitialManagerPropertyName: string;
}): Promise<Result<MatrixRoomID>>;
//# sourceMappingURL=managedRoomAccountData.d.ts.map