export declare const ESuccess: number;
export declare const EFail: number;
export declare const EFull: number;
export declare const ERetry: number;
export declare const ENoSession: number;
export declare const EClockSeen: number;
export declare const EClockFailure: number;
export declare const EClockReset: number;
export declare const ENoUser: number;
export declare const EBadRequest: number;
export declare const ELoadFailed: number;
export declare const ENoPerm: number;
export declare const ENoAccess: number;
export declare const EMaintenance: number;
export declare const FilterMyMaps: number;
export declare const FilterSharedWithMe: number;
export declare const FilterPublic: number;
export declare const FilterRecent: number;
export declare const FilterTrash: number;
export declare const FilterCount: number;
export declare type Filter = number;
export declare const PermNone: number;
export declare const PermRead: number;
export declare const PermWrite: number;
export declare const PermOwner: number;
export declare const PermAdmin: number;
export declare const PermEdit: number;
export declare const PermAll: number;
export declare type Permission = number;
export declare const ServerStateRunning: number;
export declare const ServerStateMaintenance: number;
export declare type ServerState = number;
export interface AccessSessionMap {
    [key: string]: string;
}
export interface AccessMap {
    [key: string]: Access;
}
export interface Access {
    userIDs: string[];
    perm: Permission;
}
export interface Revision {
    id: string;
    modifyTime: any;
    label?: string;
}
export declare type RevisionList = Revision[];
export interface SessionUser {
    id: string;
    name: string;
}
export interface ActiveUser {
    id: string;
    name: string;
    active: number;
}
export interface SessionUserIndex {
    [key: string]: SessionUser;
}
export interface SessionUserList {
    [key: string]: number;
}
export interface SessionProps {
    id: string;
    name: string;
    type: string;
    description: string;
    createdBy: string;
    lastActive: any;
    createTime: any;
    modifyTime: any;
    clientCount: number;
    maxClients: number;
    requestCount: number;
    deleted: boolean;
    published: boolean;
    loadFailed: boolean;
    accessMap: AccessMap;
    revisions: RevisionList;
}
export interface SessionUpdateProps {
    id: string;
    deleted?: boolean;
    published?: boolean;
    name?: string;
    description?: string;
    access?: Access;
    accessUpdate?: AccessMap;
    restore?: string;
    revision?: Revision;
}
export interface SessionsIndex {
    [key: string]: SessionProps;
}
export declare function accessFindUser(a: Access, uid: string): Permission;
export declare function accessMapFindUser(accessMap: AccessMap, uid: string, aid?: string): Permission;
export declare function SessionFilterFunction(p: SessionProps, uid: string, f: number): boolean;
