import ILocation from "./ILocation"; import IResolver, { IMountPoint } from "./IResolver"; import IEntity from "./IEntity"; import IClient from "./IClient"; import { AccessTokenSet, AuthorizedScopePair, FormalAccessTokenSet, IAccessToken, IFormalAccessToken } from "./IAccessToken"; import IUser from "./IUser"; import { IIdentityEntity } from "./IIdentity"; import { EncodingOptions, SerializationFormat } from "@znetstar/encode-tools/lib/EncodeTools"; import IEvent from "./IEvent"; export interface BasicTextSearchQueryOptions { skip?: number; limit?: number; terms: string; populate?: string | string[]; } export interface BasicTextSearchQueryOptionAdditions { count?: boolean; } export declare type BasicTextSearchOptions = BasicTextSearchQueryOptions & BasicTextSearchQueryOptionAdditions; export interface BasicFindQueryOptions { skip?: number; limit?: number; query?: any; sort?: any; populate?: string | string[]; } export interface BasicFindQueryOptionAdditions { count?: boolean; } export declare type BasicFindOptions = BasicFindQueryOptions & BasicFindQueryOptionAdditions; export interface ResolveOptions { id?: string; noCache?: boolean; } export interface CreateLocationResponse { id: string; href: string; } export interface OAuthTokenForm { grantType: string; clientId: string; clientSecret: string; redirectUri: string; originalState?: string; code?: string; refreshTokenCode?: string; username?: string; password?: string; scope?: string | string[]; } export interface OAuthTokenRequest { grant_type: string; client_id: string; client_secret: string; redirect_uri: string; state?: string; code?: string; refresh_token?: string; username?: string; password?: string; scope?: string | string[]; } export interface IHTTPResponse { href: string; headers?: Map; status: number; body?: Uint8Array; method: string; } export interface IHttpContext { req: unknown; res: unknown; scopeContext?: unknown; } export interface IPutEnvelope { data: Uint8Array | string; options?: unknown; } export declare function unwrapPut(body: Uint8Array, context: IHttpContext): IPutEnvelope; export declare function wrapPut(envelope: IPutEnvelope, context: IHttpContext): Uint8Array; export declare function getFormatsFromContext(httpContext: IHttpContext, defaultEncodeOptions?: EncodingOptions): { inFormat: SerializationFormat; outFormat: SerializationFormat; }; export declare type FindEntitiesResult = IEntity[] | number; export declare type RPCContext = { accessToken: IAccessToken; user: IUser; formalAccessToken: IFormalAccessToken; availableScopes: string[]; }; export default interface IRPC { listDrivers(): Promise; generateId(size?: number): Promise; findLocations(query: BasicFindOptions): Promise; findLocation(query: any): Promise; searchLocations(query: BasicTextSearchOptions): Promise; createLocation(location: ILocation): Promise; updateLocation(id: string, fields: any): Promise; deleteLocations(query: BasicFindQueryOptions): Promise; deleteLocation(query: any): Promise; authenticateLocation(locationId: string, userId: string): Promise; getUserByLocationAuth(locationId: string): Promise; findResolvers(query: BasicFindOptions): Promise; findResolver(query: any): Promise; searchResolvers(query: BasicTextSearchOptions): Promise; createResolver(Resolver: IResolver): Promise; updateResolver(id: string, fields: any): Promise; deleteResolvers(query: BasicFindQueryOptions): Promise; deleteResolver(query: any): Promise; listResolverTypes(): Promise; findEntities(query: BasicFindOptions): Promise; searchEntities(query: BasicTextSearchOptions): Promise; createEntity(Entity: IEntity): Promise; updateEntity(id: string, fields: any): Promise; deleteEntities(query: BasicFindQueryOptions): Promise; deleteSelfEntities(query: BasicFindQueryOptions): Promise; deleteEntity(query: any): Promise; listEntityTypes(): Promise; findIdentityEntity(query: any): Promise; getIdentityEntity(query: any): Promise; findSelfEntities(query: BasicFindOptions): Promise; getNextResolverPriority(mountPoint: IMountPoint): Promise; resolveLocation(location: ILocation): Promise; resolve(location: ILocation | string, options: ResolveOptions): Promise; getHttpResponse(location: ILocation, body: unknown): Promise; findUsers(query: BasicFindOptions): Promise; findUser(query: any): Promise; searchUsers(query: BasicTextSearchOptions): Promise; createUser(User: IUser): Promise; updateUser(id: string, fields: any): Promise; deleteUsers(query: BasicFindQueryOptions): Promise; deleteUser(query: any): Promise; listUserTypes(): Promise; generateUsername(): Promise; deleteAccessTokens(query: any, deleteLinked?: boolean): Promise; deleteSelfAccessTokens(query: any, deleteLinked?: boolean): Promise; accessTokenAuthorizedScopes(q: any, scope: string[] | string): Promise; isAccessTokenAuthorizedToDo(q: any, scope: string[] | string): Promise; selfAccessTokenAuthorizedScopes(scope: string[] | string): Promise; isSelfAccessTokenAuthorizedToDo(scope: string[] | string): Promise; userAuthorizedScopes(id: string, scope: string[] | string): Promise; isUserAuthorizedToDo(id: string, scope: string[] | string): Promise; selfUserAuthorizedScopes(scope: string[] | string): Promise; isSelfUserAuthorizedToDo(scope: string[] | string): Promise; listUserAuthorizedScopes(id: string): Promise; listSelfUserAuthorizedScopes(): Promise; findClients(query: BasicFindOptions): Promise; findClient(query: any): Promise; createClient(Cliengt: IClient): Promise; updateClient(id: string, fields: any): Promise; deleteClients(query: BasicFindQueryOptions): Promise; deleteClient(query: any): Promise; getSelfIdentityEntityByAccessToken(accessTokenId: string): Promise; getIdentityEntityByAccessToken(accessTokenId: string): Promise; getSelfUser(): Promise; getAccessTokenForm(req: OAuthTokenRequest): Promise; getAccessToken(req: OAuthTokenRequest): Promise; getAccessTokensForScope(userId: string, scope: string[] | string): Promise; getFormalAccessTokensForScope(userId: string, scope: string[] | string): Promise; accessTokenFromRefresh(id: string): Promise; selfAccessTokenFromRefresh(id: string): Promise; updateAccessToken(id: string, fields: any): Promise; updateAccessTokenByToken(token: string, fields: any): Promise; findAccessTokens(query: BasicFindOptions): Promise; findSelfAccessTokens(query: BasicFindOptions): Promise; getRPCContext(): Promise; accessTokenToFormal(id: string): Promise; selfAccessTokenToFormal(id: string): Promise; redisFlushAll(): Promise; createIPFSEntityFromLocation(loc: ILocation, pin?: boolean): Promise; pinIPFSEntity(id: string): Promise; unpinIPFSEntity(id: string): Promise; copyLocationToNewIPFSEntity(inLoc: string, pin?: boolean): Promise; findEvents(query: BasicFindOptions): Promise[] | number>; findEvent(query: any): Promise>; createEvent(type: string, event?: Partial>): Promise; }