// Type definitions for node-vault 0.5 // Project: https://github.com/kr1sp1n/node-vault // Definitions by: Jianrong Yu // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import * as mustache from "mustache"; import * as request from "request"; declare namespace NodeVault { interface Option { [p: string]: any; } interface RequestOption extends Option { path: string; method: string; } interface functionConf { method: string; path: string; schema?: { req?: Option; query?: Option; res?: Option; }; } interface client { handleVaultResponse(res?: { statusCode: number, request: Option, body: any }): Promise; apiVersion: string; endpoint: string; token: string; request(requestOptions: RequestOption): Promise; help(path: string, requestOptions?: Option): Promise; write(path: string, data: any, requestOptions?: Option): Promise; read(path: string, requestOptions?: Option): Promise; list(path: string, requestOptions?: Option): Promise; delete(path: string, requestOptions?: Option): Promise; generateFunction(name: string, conf: functionConf): void; status(options?: Option): Promise; initialized(options?: Option): Promise; init(options?: Option): Promise; unseal(options?: Option): Promise; seal(options?: Option): Promise; generateRootStatus(options?: Option): Promise; generateRootInit(options?: Option): Promise; generateRootCancel(options?: Option): Promise; generateRootUpdate(options?: Option): Promise; mounts(options?: Option): Promise; mount(options?: Option): Promise; unmount(options?: Option): Promise; remount(options?: Option): Promise; policies(options?: Option): Promise; addPolicy(options?: Option): Promise; getPolicy(options?: Option): Promise; removePolicy(options?: Option): Promise; auths(options?: Option): Promise; enableAuth(options?: Option): Promise; disableAuth(options?: Option): Promise; audits(options?: Option): Promise; enableAudit(options?: Option): Promise; disableAudit(options?: Option): Promise; renew(options?: Option): Promise; revoke(options?: Option): Promise; revokePrefix(options?: Option): Promise; rotate(options?: Option): Promise; githubLogin(options?: Option): Promise; userpassLogin(options?: Option): Promise; tokenAccessors(options?: Option): Promise; tokenCreate(options?: Option): Promise; tokenCreateOrphan(options?: Option): Promise; tokenCreateRole(options?: Option): Promise; tokenLookup(options?: Option): Promise; tokenLookupAccessor(options?: Option): Promise; tokenLookupSelf(options?: Option): Promise; tokenRenew(options?: Option): Promise; tokenRenewSelf(options?: Option): Promise; tokenRevoke(options?: Option): Promise; tokenRevokeAccessor(options?: Option): Promise; tokenRevokeOrphan(options?: Option): Promise; tokenRevokeSelf(options?: Option): Promise; tokenRoles(options?: Option): Promise; addTokenRole(options?: Option): Promise; getTokenRole(options?: Option): Promise; removeTokenRole(options?: Option): Promise; approleRoles(options?: Option): Promise; addApproleRole(options?: Option): Promise; getApproleRole(options?: Option): Promise; deleteApproleRole(options?: Option): Promise; getApproleRoleId(options?: Option): Promise; updateApproleRoleId(options?: Option): Promise; getApproleRoleSecret(options?: Option): Promise; approleSecretAccessors(options?: Option): Promise; approleSecretLookup(options?: Option): Promise; approleSecretDestroy(options?: Option): Promise; approleSecretAccessorLookup(options?: Option): Promise; approleSecretAccessorDestroy(options?: Option): Promise; approleLogin(options?: Option): Promise; health(options?: Option): Promise; leader(options?: Option): Promise; stepDown(options?: Option): Promise; } interface VaultOptions { debug?(...args: any[]): any; tv4?(...args: any[]): any; commands?: Array<{ method: string, path: string, scheme: any }>; mustache?: MustacheStatic; "request-promise"?: any; Promise?: PromiseConstructor; apiVersion?: string; endpoint?: string; token?: string; requestOptions?: request.CoreOptions; } } type GetClient = (options?: NodeVault.VaultOptions) => NodeVault.client; declare const getClient: GetClient; export = getClient;