// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; import * as AccountsAPI from '../accounts/accounts'; import * as ArticlesAPI from './articles'; import { Article, ArticleCreateParams, ArticleUpdateParams, Articles } from './articles'; import * as CollectionsAPI from './collections'; import { Collection, CollectionCreateParams, CollectionCreateResponse, CollectionListResponse, Collections, } from './collections'; import { APIPromise } from '../../core/api-promise'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; export class KnowledgeBases extends APIResource { articles: ArticlesAPI.Articles = new ArticlesAPI.Articles(this._client); collections: CollectionsAPI.Collections = new CollectionsAPI.Collections(this._client); /** * Get all knowledge bases */ list(options?: RequestOptions): APIPromise { return this._client.get('/knowledge-bases', options); } /** * Create a route redirect */ createRouteRedirect( id: string, body: KnowledgeBaseCreateRouteRedirectParams, options?: RequestOptions, ): APIPromise { return this._client.post(path`/knowledge-bases/${id}/route-redirects`, { body, ...options }); } } export interface KnowledgeBaseListResponse { data?: Array; pagination?: AccountsAPI.Pagination; request_id?: string; } export namespace KnowledgeBaseListResponse { export interface Data { id?: string; slug?: string; title?: string; } } export interface KnowledgeBaseCreateRouteRedirectResponse { data?: KnowledgeBaseCreateRouteRedirectResponse.Data; request_id?: string; } export namespace KnowledgeBaseCreateRouteRedirectResponse { export interface Data { id?: string; created_at?: string; from_path?: string; object_id?: string; object_type?: string; } } export interface KnowledgeBaseCreateRouteRedirectParams { /** * The path to redirect from */ from_path: string; /** * The ID of the object to redirect to */ object_id: string; /** * The type of the object to redirect to */ object_type: 'article'; } KnowledgeBases.Articles = Articles; KnowledgeBases.Collections = Collections; export declare namespace KnowledgeBases { export { type KnowledgeBaseListResponse as KnowledgeBaseListResponse, type KnowledgeBaseCreateRouteRedirectResponse as KnowledgeBaseCreateRouteRedirectResponse, type KnowledgeBaseCreateRouteRedirectParams as KnowledgeBaseCreateRouteRedirectParams, }; export { Articles as Articles, type Article as Article, type ArticleCreateParams as ArticleCreateParams, type ArticleUpdateParams as ArticleUpdateParams, }; export { Collections as Collections, type Collection as Collection, type CollectionCreateResponse as CollectionCreateResponse, type CollectionListResponse as CollectionListResponse, type CollectionCreateParams as CollectionCreateParams, }; }