import { DependencyContainer } from './DependencyContainer';
import { IDIService } from "./IDIService";
import { CancelationTokenSource } from './CancelationTokenSource';
import { IEnumerable } from "linq-to-typescript";
declare global {
    interface Array<T> extends IEnumerable<T> {
    }
    interface Uint8Array extends IEnumerable<number> {
    }
    interface Uint8ClampedArray extends IEnumerable<number> {
    }
    interface Uint16Array extends IEnumerable<number> {
    }
    interface Uint32Array extends IEnumerable<number> {
    }
    interface Int8Array extends IEnumerable<number> {
    }
    interface Int16Array extends IEnumerable<number> {
    }
    interface Int32Array extends IEnumerable<number> {
    }
    interface Float32Array extends IEnumerable<number> {
    }
    interface Float64Array extends IEnumerable<number> {
    }
    interface Map<K, V> extends IEnumerable<[K, V]> {
    }
    interface Set<T> extends IEnumerable<T> {
    }
    interface String extends IEnumerable<string> {
    }
    namespace ExalusApi {
        function GetDependencyContainer(): DependencyContainer;
    }
}
export declare function GetDependencyContainer(): DependencyContainer;
export declare class Api {
    static WorksInContextOf: string;
    static Version: number;
    static Init(): void;
    static IsAppServedFromControllerAsync(): Promise<boolean>;
    static IsRunningFromLocalNetwork(hostname?: string): boolean;
    static GetAsync<T extends IDIService>(classType: string, cancelationToken?: CancelationTokenSource): Promise<T>;
    static GetWithTimeoutAsync<T extends IDIService>(classType: string, timeout: number): Promise<T>;
    static Get<T extends IDIService>(classType: string): T;
    static SleepForAsync(miliseconds: number): Promise<void>;
    static ExportStringAsFileToDownload(filename: string, content: string): HTMLAnchorElement;
}
