1 | import { EventEmitter } from "events";
|
2 | import type { AccessControl } from "../definitions";
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | export declare const enum AccessLevel {
|
10 | |
11 |
|
12 |
|
13 |
|
14 | ANYONE = 0,
|
15 | |
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 | HOME_MEMBERS_ONLY = 1
|
23 | }
|
24 |
|
25 |
|
26 |
|
27 | export declare const enum AccessControlEvent {
|
28 | ACCESS_LEVEL_UPDATED = "update-control-level",
|
29 | PASSWORD_SETTING_UPDATED = "update-password"
|
30 | }
|
31 |
|
32 |
|
33 |
|
34 | export declare interface AccessControlManagement {
|
35 | on(event: "update-control-level", listener: (accessLevel: AccessLevel) => void): this;
|
36 | on(event: "update-password", listener: (password: string | undefined, passwordRequired: boolean) => void): this;
|
37 | emit(event: "update-control-level", accessLevel: AccessLevel): boolean;
|
38 | emit(event: "update-password", password: string | undefined, passwordRequired: boolean): boolean;
|
39 | }
|
40 |
|
41 |
|
42 |
|
43 | export declare class AccessControlManagement extends EventEmitter {
|
44 | private readonly accessControlService;
|
45 | |
46 |
|
47 |
|
48 | private accessLevel;
|
49 | private passwordRequired;
|
50 | private password?;
|
51 | |
52 |
|
53 |
|
54 |
|
55 |
|
56 | constructor(password?: boolean);
|
57 | /**
|
58 | * Instantiates a new AccessControlManagement.
|
59 | *
|
60 | * @param {boolean} password - if set to true the service will listen for password settings
|
61 | * @param {AccessControl} service - supply your own instance to sideload the AccessControl service
|
62 | */
|
63 | constructor(password?: boolean, service?: AccessControl);
|
64 | /**
|
65 | * @returns the AccessControl service
|
66 | */
|
67 | getService(): AccessControl;
|
68 | /**
|
69 | * @returns the current {@link AccessLevel} configured for the Home
|
70 | */
|
71 | getAccessLevel(): AccessLevel;
|
72 | |
73 |
|
74 |
|
75 | getPassword(): string | undefined;
|
76 | |
77 |
|
78 |
|
79 |
|
80 |
|
81 | destroy(): void;
|
82 | private handleAccessLevelChange;
|
83 | private handlePasswordChange;
|
84 | private setupServiceHandlers;
|
85 | }
|
86 |
|
\ | No newline at end of file |