export {};

declare global {
  interface Window {
    DDLogin: (options: any) => void;
  }

  type AxiosHeaders =
    | "application/json"
    | "application/x-www-form-urlencoded"
    | "multipart/form-data";

  type AxiosMethod =
    | "get"
    | "post"
    | "delete"
    | "put"
    | "GET"
    | "POST"
    | "DELETE"
    | "PUT";

  type AxiosResponseType =
    | "arraybuffer"
    | "blob"
    | "document"
    | "json"
    | "text"
    | "stream";

  interface AxiosConfig {
    params?: any;
    data?: any;
    url?: string;
    method?: AxiosMethod;
    headersType?: string;
    responseType?: AxiosResponseType;
  }

  interface IResponse<T = any> {
    code: string;
    data: T extends any ? T : T & any;
  }
}
