/// <reference types="angular" />
/// <reference types="angular-route" />
import { WebSocketClientService } from "./WebSocketClientService";
export declare class api {
    $rootScope: ng.IRootScopeService;
    $location: any;
    WebSocketClientService: WebSocketClientService;
    static $inject: string[];
    constructor($rootScope: ng.IRootScopeService, $location: any, WebSocketClientService: WebSocketClientService);
}
export declare class timesince implements ng.IDirective {
    $location: ng.ILocationService;
    $timeout: ng.ITimeoutService;
    require: string;
    replace: boolean;
    constructor($location: ng.ILocationService, $timeout: ng.ITimeoutService);
    link: ng.IDirectiveLinkFn;
    static factory(): ng.IDirectiveFactory;
}
export declare class textarea implements ng.IDirective {
    $location: ng.ILocationService;
    $timeout: ng.ITimeoutService;
    replace: boolean;
    constructor($location: ng.ILocationService, $timeout: ng.ITimeoutService);
    link: ng.IDirectiveLinkFn;
    static factory(): ng.IDirectiveFactory;
}
export declare class translate implements ng.IDirective {
    $location: ng.ILocationService;
    $timeout: ng.ITimeoutService;
    locale: any;
    require: string;
    replace: boolean;
    constructor($location: ng.ILocationService, $timeout: ng.ITimeoutService, locale: any);
    link: ng.IDirectiveLinkFn;
    static factory(): ng.IDirectiveFactory;
}
export declare class userdata {
    data: any;
    constructor();
}
export declare class copytext implements ng.IDirective {
    $location: ng.ILocationService;
    $timeout: ng.ITimeoutService;
    locale: any;
    restrict: string;
    require: string;
    constructor($location: ng.ILocationService, $timeout: ng.ITimeoutService, locale: any);
    link: ng.IDirectiveLinkFn;
    static factory(): ng.IDirectiveFactory;
}
export declare class fileread implements ng.IDirective {
    $location: ng.ILocationService;
    $timeout: ng.ITimeoutService;
    locale: any;
    restrict: string;
    require: string;
    constructor($location: ng.ILocationService, $timeout: ng.ITimeoutService, locale: any);
    link: ng.IDirectiveLinkFn;
    static factory(): ng.IDirectiveFactory;
}
export declare class entitiesCtrl<T> {
    $scope: ng.IScope;
    $location: ng.ILocationService;
    $routeParams: ng.route.IRouteParamsService;
    $interval: ng.IIntervalService;
    WebSocketClientService: WebSocketClientService;
    api: api;
    userdata: userdata;
    loading: boolean;
    basequery: any;
    baseprojection: any;
    collection: string;
    models: T[];
    orderby: any;
    autorefresh: boolean;
    autorefreshinterval: number;
    pagesize: number;
    autorefreshpromise: any;
    preloadData: any;
    postloadData: any;
    searchstring: string;
    searchfields: string[];
    basequeryas: string;
    errormessage: string;
    static $inject: string[];
    constructor($scope: ng.IScope, $location: ng.ILocationService, $routeParams: ng.route.IRouteParamsService, $interval: ng.IIntervalService, WebSocketClientService: WebSocketClientService, api: api, userdata: userdata);
    private static parseJson;
    loadData(): Promise<void>;
    ToggleOrder(field: string): void;
    DeleteOne(model: any): Promise<any>;
    Search(): Promise<void>;
}
export declare function nestedassign(target: any, source: any): any;
export declare class entityCtrl<T> {
    $scope: ng.IScope;
    $location: ng.ILocationService;
    $routeParams: ng.route.IRouteParamsService;
    $interval: ng.IIntervalService;
    WebSocketClientService: WebSocketClientService;
    api: api;
    loading: boolean;
    basequery: any;
    baseprojection: any;
    collection: string;
    model: T;
    id: string;
    keys: string[];
    autorefresh: boolean;
    autorefreshinterval: number;
    autorefreshpromise: any;
    preloadData: any;
    postloadData: any;
    errormessage: string;
    static $inject: string[];
    constructor($scope: ng.IScope, $location: ng.ILocationService, $routeParams: ng.route.IRouteParamsService, $interval: ng.IIntervalService, WebSocketClientService: WebSocketClientService, api: api);
    loadData(): Promise<void>;
}
