declare namespace Application {
    namespace Types {
        interface iByComponent {
            (props: {
                Roles: Array<SecurityRoleName>;
            }): any;
        }
        interface iApplicationRole<T> {
            ID: string;
            Name: T;
            Description: string;
            NodeID: string;
            CreatedOn: Date;
            CreatedBy: string;
            UpdatedOn: Date;
            UpdatedBy: string;
            Assigned?: boolean;
        }
        interface iApplicationRoleUserAccount {
            ID: string;
            ApplicationRoleID: string;
            UserAccountID: string;
        }
        interface iSecurityGroup {
            ID: string;
            Name: string;
            Description: string;
            CreatedOn: Date;
            CreatedBy: string;
            UpdatedOn: Date;
        }
        interface iApplicationRoleSecurityGroup {
            ID: string;
            ApplicationRoleID: string;
            SecurityGroupID: string;
        }
        interface iUserAccount {
            ID: string;
            Name: string;
            Password: string;
            FirstName: string;
            LastName: string;
            DefaultNodeID?: string;
            Phone: string;
            PhoneConfirmed: boolean;
            Email: string;
            EmailConfirmed: boolean;
            LockedOut: boolean;
            Approved: boolean;
            UseADAuthentication: boolean;
            ChangePasswordOn: string;
            AccountName?: string;
        }
        interface iAdditionalUserFieldValue {
            ID: number;
            UserAccountID: string;
            AdditionalUserFieldID: number;
            Value: string;
        }
        interface iAdditionalUserField {
            ID: number;
            FieldName: string;
            Type: string;
            IsSecure: boolean;
        }
        interface iApplicationNode {
            ID: string;
            Name: string;
        }
        type Status = 'loading' | 'idle' | 'error' | 'changed' | 'uninitiated';
        type NewEdit = 'New' | 'Edit';
        type SecurityRoleName = 'Administrator' | 'Transmission SME' | 'PQ Data Viewer' | 'DataPusher' | 'Developer' | 'Viewer' | 'Engineer';
        type AttachedDatabases = 'SystemCenter' | 'OpenXDA' | 'MiMD';
    }
    namespace Lists {
    }
}
export default Application;
