import { AxiosResponse } from 'axios'; import { Config } from './config'; import Request from './request'; import { CasdoorResponse } from './util'; export interface TableColumn { name: string; type: string; casdoorName: string; isKey: boolean; isHashed: boolean; values?: string[]; } export interface Syncer { owner: string; name: string; createdTime: string; organization: string; type?: string; host: string; port: number; user: string; password: string; databaseType: string; database: string; table: string; tablePrimaryKey?: string; tableColumns?: TableColumn[]; affiliationTable?: string; avatarBaseUrl?: string; errorText?: string; syncInterval?: number; isReadOnly?: boolean; isEnabled?: boolean; sslMode?: string; sshType?: string; sshHost?: string; sshPort?: number; sshUser?: string; sshPassword?: string; cert?: string; } export declare class SyncerSDK { private config; private readonly request; constructor(config: Config, request: Request); getSyncers(): Promise, any>>; getSyncer(id: string): Promise, any>>; modifySyncer(method: string, syncer: Syncer, columns?: string[]): Promise, any>>; getPaginationSyncers(p: number, pageSize: number, queryMap?: Record): Promise, any>>; addSyncer(syncer: Syncer): Promise, any>>; updateSyncer(syncer: Syncer): Promise, any>>; deleteSyncer(syncer: Syncer): Promise, any>>; }