export { default as Helpers } from "./commons/helpers";
import * as _Bootstrap from "./commons/bootstrap";
export declare const Bootstrap: typeof _Bootstrap;
export { default as Table, TableDropdown, TableDropdownProps } from "./components/table";
export { default as Filter } from "./components/filter";
export { default as FilteredTable, defaultFilter } from "./components/filteredtable";
export { default as SelectableTable, ChildProps as SelectableTableChildProps } from "./components/selectabletable";
export declare const ReactCSSTransitionGroup: any;
export { default as ErrorModal, ErrorReport, errorBuilder, makeError, defaultError, Props as ErrorProps } from "./components/errormodal";
export { default as DialogModal, makeWarning, Dialog, dialogBuilder, Option, Props as DialogProps } from "./components/dialogmodal";
export { default as Alert, Props as AlertProps, buildAlert, Alerted, AlertedProps } from "./components/alert";
export { default as Field } from "./components/field";
export { default as Switch } from "./components/switch";
export { default as Checkbox } from "./components/checkbox";
export { default as Multistatecheckbox } from "./components/multistatecheckbox";
export { default as TextField, Props as TextFieldProps } from "./components/textfield";
export { default as MentionField, MentionProps, MentionFieldProps, RegexSubstitution, MentionType } from "./components/mentionfield";
export { default as ListField, Props as ListProps } from "./components/listfield";
export { default as MultilangField, multilangSort, buildMultilingual, Multilingual } from "./components/multilangfield";
export { default as ChoiceField, SelectOption as ChoiceOption, Props as ChoiceProps } from "./components/choicefield";
export { default as CodeEditor } from "./components/codeeditor";
export { default as Slideout } from "./components/slideout";
export { default as Drawer } from "./scaffold/drawer";
export { default as HomePage } from "./scaffold/homepage";
export { default as HomeTile } from "./scaffold/hometile";
export { default as Notifier, Notification, Props as NotifierProps } from "./scaffold/notifier";
export { default as Page } from "./scaffold/page";
export { default as Worksheet, BarButton, BarButtonsGroup, ItemLightProp, BackButtonProp } from "./scaffold/worksheet";
export { Menu, MenuProps, MenuSeparator, MenuAction, MenuActionProps } from "./scaffold/pagemenu";
export { default as Scaffold } from "./scaffold/scaffold";
export { Sidebar, SideIcon } from "./scaffold/sidebar";
export { Badge, FullBadge } from "./scaffold/userbadge";
export { SectionsNavigator, Section } from "./scaffold/sectionsnavigator";
export { Issue, aggregateValidationsArray, aggregateIssues, IssueLevel, IssueTypes, resolveIssueType, ValidationResult, buildValidation, IssueApi } from "./commons/validation";
export declare const rest: {
    base: (basePath: string) => {
        get: (url?: string, opts?: {}) => Promise<any>;
        post: (url: string, body: any, opts?: any) => Promise<any>;
        put: (url: string, body: any, opts?: any) => Promise<any>;
        del: (url: string, body?: any, opts?: any) => Promise<any>;
        fetch: (url: string, opts?: {}, consumer?: any) => Promise<any>;
        writeopts: (body: any) => any;
        baseopts: {
            credentials: RequestCredentials;
            'Access-Control-Allow-Origin': string;
        };
        createConsumer: (opts: {
            defaultName?: string;
            contentType?: string;
        }) => (r: Response) => void;
    };
    channel: (basePath: string) => {
        get: (url: string, handlers: {
            result: (o: any) => void;
            start?: (o: any) => void;
            end?: (o: any) => void;
            log?: (o: any) => void;
            fail?: (o: any) => void;
            error?: (o: any) => void;
        }, opts?: {}) => Promise<{}>;
        post: (url: string, handlers: {
            result: (o: any) => void;
            start?: (o: any) => void;
            end?: (o: any) => void;
            log?: (o: any) => void;
            fail?: (o: any) => void;
            error?: (o: any) => void;
        }, body: any, opts?: any) => Promise<{}>;
        put: (url: string, handlers: {
            result: (o: any) => void;
            start?: (o: any) => void;
            end?: (o: any) => void;
            log?: (o: any) => void;
            fail?: (o: any) => void;
            error?: (o: any) => void;
        }, body: any, opts?: any) => Promise<{}>;
        del: (url: string, handlers: {
            result: (o: any) => void;
            start?: (o: any) => void;
            end?: (o: any) => void;
            log?: (o: any) => void;
            fail?: (o: any) => void;
            error?: (o: any) => void;
        }, body?: any, opts?: any) => Promise<{}>;
    };
    roles: (baseurl: string) => {
        fetchAll: () => Promise<any>;
        fetchOne: (id: string) => Promise<any>;
        saveOne: (role: {
            id: string;
            name: string;
            description: string;
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
        }) => Promise<any>;
    };
    users: (baseurl: string) => {
        fetchAll: () => Promise<any>;
        fetchOne: (username: string) => Promise<any>;
        logged: () => Promise<any>;
        saveOne: (user: {
            username: string;
            roles: {
                id: string;
                name: string;
                description: string;
                permissions: {
                    labels: string[];
                    name: string;
                    description: string;
                    resource: string;
                    type: string;
                }[];
            }[];
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
            details: {
                firstname: string;
                lastname: string;
                email: string;
                placement: string;
                post: string;
                contact: string;
            };
            islogged: boolean;
        }) => Promise<any>;
    };
};
export { User } from "./model/user";
export declare const api: {
    user: {
        login(u: {
            username: string;
            roles: {
                id: string;
                name: string;
                description: string;
                permissions: {
                    labels: string[];
                    name: string;
                    description: string;
                    resource: string;
                    type: string;
                }[];
            }[];
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
            details: {
                firstname: string;
                lastname: string;
                email: string;
                placement: string;
                post: string;
                contact: string;
            };
            islogged: boolean;
        }): {
            username: string;
            roles: {
                id: string;
                name: string;
                description: string;
                permissions: {
                    labels: string[];
                    name: string;
                    description: string;
                    resource: string;
                    type: string;
                }[];
            }[];
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
            details: {
                firstname: string;
                lastname: string;
                email: string;
                placement: string;
                post: string;
                contact: string;
            };
            islogged: boolean;
        };
        logged(): {
            username: string;
            roles: {
                id: string;
                name: string;
                description: string;
                permissions: {
                    labels: string[];
                    name: string;
                    description: string;
                    resource: string;
                    type: string;
                }[];
            }[];
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
            details: {
                firstname: string;
                lastname: string;
                email: string;
                placement: string;
                post: string;
                contact: string;
            };
            islogged: boolean;
        };
        name(u: {
            username: string;
            roles: {
                id: string;
                name: string;
                description: string;
                permissions: {
                    labels: string[];
                    name: string;
                    description: string;
                    resource: string;
                    type: string;
                }[];
            }[];
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
            details: {
                firstname: string;
                lastname: string;
                email: string;
                placement: string;
                post: string;
                contact: string;
            };
            islogged: boolean;
        }): string;
        fingerprintOf(u: {
            username: string;
            roles: {
                id: string;
                name: string;
                description: string;
                permissions: {
                    labels: string[];
                    name: string;
                    description: string;
                    resource: string;
                    type: string;
                }[];
            }[];
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
            details: {
                firstname: string;
                lastname: string;
                email: string;
                placement: string;
                post: string;
                contact: string;
            };
            islogged: boolean;
        }): string;
        actionsOf(u: {
            username: string;
            roles: {
                id: string;
                name: string;
                description: string;
                permissions: {
                    labels: string[];
                    name: string;
                    description: string;
                    resource: string;
                    type: string;
                }[];
            }[];
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
            details: {
                firstname: string;
                lastname: string;
                email: string;
                placement: string;
                post: string;
                contact: string;
            };
            islogged: boolean;
        }): {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }[];
        allActionsOf(u: {
            username: string;
            roles: {
                id: string;
                name: string;
                description: string;
                permissions: {
                    labels: string[];
                    name: string;
                    description: string;
                    resource: string;
                    type: string;
                }[];
            }[];
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
            details: {
                firstname: string;
                lastname: string;
                email: string;
                placement: string;
                post: string;
                contact: string;
            };
            islogged: boolean;
        }): {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }[];
        can(a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }): boolean;
        canOver(a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }, resource: string): boolean;
        canAny(...a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }[]): boolean;
        cannotAny(...a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }[]): boolean;
        canUser(u: {
            username: string;
            roles: {
                id: string;
                name: string;
                description: string;
                permissions: {
                    labels: string[];
                    name: string;
                    description: string;
                    resource: string;
                    type: string;
                }[];
            }[];
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
            details: {
                firstname: string;
                lastname: string;
                email: string;
                placement: string;
                post: string;
                contact: string;
            };
            islogged: boolean;
        }, a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }): boolean;
        isLoaded(u: {
            username: string;
            roles: {
                id: string;
                name: string;
                description: string;
                permissions: {
                    labels: string[];
                    name: string;
                    description: string;
                    resource: string;
                    type: string;
                }[];
            }[];
            permissions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
            details: {
                firstname: string;
                lastname: string;
                email: string;
                placement: string;
                post: string;
                contact: string;
            };
            islogged: boolean;
        }): boolean;
    };
    action: {
        init: (config: {
            actions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
        }) => {
            actions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
        };
        config: () => {
            actions: {
                labels: string[];
                name: string;
                description: string;
                resource: string;
                type: string;
            }[];
        };
        any: string;
        notype: string;
        unknown: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        };
        list: () => {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }[];
        asPermission: (a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }) => {
            labels: string[];
            resource: string;
            type: string;
        };
        isLike: (a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }, b: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }) => boolean;
        isImpliedBy: (a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }, b: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }) => boolean;
        isSame: (a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }, b: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }) => boolean;
        isTemplate: (a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }) => boolean;
        map: (array: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }[]) => {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }[];
        specialise: (a: {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        }, id: string) => {
            labels: string[];
            name: string;
            description: string;
            resource: string;
            type: string;
        };
    };
};
export { Role, Action, TypeConfig, Config } from "./model/action";
export { mode, Mode } from "./model/mode";
