import { EnvironmentUrls } from '../models/domain'; import { CipherRequest, FolderRequest, PasswordHintRequest, RegisterRequest, TokenRequest, TwoFactorEmailRequest, } from '../models/request'; import { CipherResponse, FolderResponse, IdentityTokenResponse, IdentityTwoFactorResponse, SyncResponse, } from '../models/response'; export abstract class ApiService { urlsSet: boolean; baseUrl: string; identityBaseUrl: string; deviceType: string; logoutCallback: Function; setUrls: (urls: EnvironmentUrls) => void; postIdentityToken: (request: TokenRequest) => Promise; refreshIdentityToken: () => Promise; postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise; getAccountRevisionDate: () => Promise; postPasswordHint: (request: PasswordHintRequest) => Promise; postRegister: (request: RegisterRequest) => Promise; postFolder: (request: FolderRequest) => Promise; putFolder: (id: string, request: FolderRequest) => Promise; deleteFolder: (id: string) => Promise; postCipher: (request: CipherRequest) => Promise; putCipher: (id: string, request: CipherRequest) => Promise; deleteCipher: (id: string) => Promise; postCipherAttachment: (id: string, data: FormData) => Promise; deleteCipherAttachment: (id: string, attachmentId: string) => Promise; getSync: () => Promise; }