import { AxiosInstance } from 'axios'; import { FrappeAuth } from '..'; import { FrappeCall } from '../call'; import { FrappeDB } from '../db'; import { FrappeFileUpload } from '../file'; import { TokenParams } from './types'; export declare class FrappeApp { /** URL of the Frappe instance */ readonly url: string; /** Name of the Frappe App instance */ readonly name: string; /** Axios instance */ readonly axios: AxiosInstance; /** Whether to use token based auth */ readonly useToken: boolean; /** Function that returns the token to be used for authentication */ readonly token?: () => string; /** Type of token to be used for authentication */ readonly tokenType?: 'Bearer' | 'token'; /** Custom Headers to be passed in each request */ readonly customHeaders?: object; constructor(url: string, tokenParams?: TokenParams, name?: string, customHeaders?: object); /** Returns a FrappeAuth object for the app */ auth(): FrappeAuth; /** Returns a FrappeDB object for the app */ db(): FrappeDB; /** Returns a FrappeFileUpload object for the app */ file(): FrappeFileUpload; /** Returns a FrappeCall object for the app */ call(): FrappeCall; }