UNPKG

@jmuchovej/paperpile-notion

Version:
82 lines (81 loc) 2.38 kB
import { NotionClient } from "@jitl/notion-api"; export declare type AuthorsDB = { databaseID: string; articleRef: string; primaryKey: string; }; export declare type ArticlesDB = { databaseID: string; authorRef: string; primaryKey: string; }; interface StrictConfigInterface { databases: { authors?: AuthorsDB; articles: ArticlesDB; }; status: { prefix?: string; colname?: string; states: { [key: string]: string; }; }; topics: { prefix?: string; colname?: string; topics: { [key: string]: string; }; }; fields: { prefix?: string; colname?: string; fields: { [key: string]: string; }; }; methods: { prefix?: string; colname?: string; methods: { [key: string]: string; }; }; folders: { prefix?: string; colname?: string; folder: { [key: string]: string; }; }; icons: { [bibtexKey: string]: string; }; } export interface LooseConfigInterface { databases: { authors: StrictConfigInterface["databases"]["authors"] | string; articles: StrictConfigInterface["databases"]["articles"] | string; }; status: StrictConfigInterface["status"]; topics: StrictConfigInterface["topics"]; fields: StrictConfigInterface["fields"]; methods: StrictConfigInterface["methods"]; folders: StrictConfigInterface["folders"]; icons: StrictConfigInterface["icons"]; } export declare const newConfig: (config: LooseConfigInterface, notion: NotionClient) => Promise<StrictConfig>; export declare class StrictConfig implements StrictConfigInterface { readonly databases: StrictConfigInterface["databases"]; readonly status: StrictConfigInterface["status"]; readonly topics: StrictConfigInterface["topics"]; readonly fields: StrictConfigInterface["fields"]; readonly methods: StrictConfigInterface["methods"]; readonly folders: StrictConfigInterface["folders"]; readonly icons: StrictConfigInterface["icons"]; constructor({ databases, status, topics, fields, methods, folders, icons, }: StrictConfigInterface); get hasAuthorDB(): boolean; get authorType(): "relation" | "multi_select"; } export {};