import { FilterType, FilterTypes, UpdateType, UpdateTypes } from '@nishans/traverser'; import { INotionUser, ISpace } from '@nishans/types'; import { INotionCoreOptions, INotionUserUpdateInput, ISpaceCreateInput, ISpaceUpdateInput } from '../'; import Data from './Data'; import Space from './Space'; import UserRoot from './UserRoot'; import UserSettings from './UserSettings'; /** * A class to represent NotionUser of Notion * @noInheritDoc */ declare class NotionUser extends Data { constructor(arg: INotionCoreOptions); /** * Get the current logged in user settings * @returns Returns the logged in UserSettings object */ getUserSettings(): UserSettings; getUserRoot(): UserRoot; /** * Create and return a new Space * @param opt Object for configuring the Space options * @returns Newly created Space object */ createSpace(opt: ISpaceCreateInput): Promise; createSpaces(opts: ISpaceCreateInput[]): Promise; /** * Get a space that is available on the user's account * @param arg A predicate filter function or a string * @returns The obtained Space object */ getSpace(arg?: FilterType): Promise; /** * Get multiple space objects on the user's account as an array * @param arg empty or A predicate function or a string array of ids * @returns An array of space objects */ getSpaces(args?: FilterTypes, multiple?: boolean): Promise; updateSpace(arg: UpdateType): Promise; updateSpaces(args: UpdateTypes, multiple?: boolean): Promise; deleteSpace(arg: FilterType): Promise; deleteSpaces(args: FilterTypes, multiple?: boolean): Promise; } export default NotionUser;