@jmuchovej/paperpile-notion
Version:
CLI to sync your Paperpile with Notion
82 lines (81 loc) • 2.38 kB
TypeScript
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 {};