export interface LandLordApi { dashboardState: string; defaultState: string; domainTemplateHref: string; domainTemplateText: string; heartbeat: number; } export interface TenantAppApi { applyHref: string; baseUrl: string; defaultSubdomain: string; excludedSubdomains: string[]; tokenLoginHref: string; } export interface DomainApi { default: string; template: string; } export interface PdfServerApi { href: string; text: string; } export declare type ApiUrl = string; export declare type Debug = boolean; export declare type Domain = string; export declare type LandLordApp = LandLordApi; export declare type PdfServer = PdfServerApi; export declare type TenantApp = TenantAppApi; export declare type Token = string | null; export declare type UploadUrl = string; export interface ApiConfig { apiUrl: ApiUrl; debug: Debug; domain: Domain; landLordApp: LandLordApp | null; pdfServer: PdfServer | null; tenantApp: TenantApp | null; token: Token; uploadUrl: UploadUrl; } export declare type ApiFactory = (api: Api) => T; export declare type ApiUrlPath = string; export interface ApiRequest { apiUrl: string; } export declare class Api { private config; constructor(options?: Partial); apiUrl: ApiUrl; debug: Debug; domain: Domain; landLordApp: LandLordApp; pdfServer: PdfServer; tenantApp: TenantApp; token: Token; uploadUrl: UploadUrl; } export declare const api: Api;