import type { DataSourceParentResponse, DatabaseParentResponse, EmptyObject, GroupFilterOperatorArray, IdRequest, IdResponse, NumberFormat, PageCoverResponse, PageIconRequest, PageIconResponse, PageObjectResponse, ParentOfDataSourceRequest, ParentOfDatabaseResponse, PartialPageObjectResponse, PartialUserObjectResponse, PropertyConfigurationRequest, PropertyDescriptionRequest, PropertyFilter, RichTextItemRequest, RichTextItemResponse, RollupFunction, SelectColor, StatusPropertyConfigUpdateRequest, TimestampFilter } from "./common"; type CheckboxDatabasePropertyConfigResponse = { type: "checkbox"; checkbox: EmptyObject; }; type CreatedByDatabasePropertyConfigResponse = { type: "created_by"; created_by: EmptyObject; }; type CreatedTimeDatabasePropertyConfigResponse = { type: "created_time"; created_time: EmptyObject; }; export type DataSourceObjectResponse = { object: "data_source"; id: IdResponse; title: Array; description: Array; parent: ParentOfDataSourceResponse; database_parent: ParentOfDatabaseResponse; is_inline: boolean; in_trash: boolean; /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */ archived: boolean; created_time: string; last_edited_time: string; created_by: PartialUserObjectResponse; last_edited_by: PartialUserObjectResponse; properties: Record; icon: PageIconResponse | null; cover: PageCoverResponse | null; url: string; public_url: string | null; }; type DatabasePropertyConfigResponse = DatabasePropertyConfigResponseCommon & (NumberDatabasePropertyConfigResponse | FormulaDatabasePropertyConfigResponse | SelectDatabasePropertyConfigResponse | MultiSelectDatabasePropertyConfigResponse | StatusDatabasePropertyConfigResponse | RelationDatabasePropertyConfigResponse | RollupDatabasePropertyConfigResponse | UniqueIdDatabasePropertyConfigResponse | TitleDatabasePropertyConfigResponse | RichTextDatabasePropertyConfigResponse | UrlDatabasePropertyConfigResponse | PeopleDatabasePropertyConfigResponse | FilesDatabasePropertyConfigResponse | EmailDatabasePropertyConfigResponse | PhoneNumberDatabasePropertyConfigResponse | DateDatabasePropertyConfigResponse | CheckboxDatabasePropertyConfigResponse | CreatedByDatabasePropertyConfigResponse | CreatedTimeDatabasePropertyConfigResponse | LastEditedByDatabasePropertyConfigResponse | LastEditedTimeDatabasePropertyConfigResponse); type DatabasePropertyConfigResponseCommon = { id: string; name: string; description: PropertyDescriptionRequest | null; }; type DatabasePropertyRelationConfigResponse = DatabasePropertyRelationConfigResponseCommon & (SinglePropertyDatabasePropertyRelationConfigResponse | DualPropertyDatabasePropertyRelationConfigResponse); type DatabasePropertyRelationConfigResponseCommon = { database_id: IdResponse; data_source_id: IdResponse; }; type DateDatabasePropertyConfigResponse = { type: "date"; date: EmptyObject; }; type DualPropertyDatabasePropertyRelationConfigResponse = { type?: "dual_property"; dual_property: { synced_property_id: string; synced_property_name: string; }; }; type EmailDatabasePropertyConfigResponse = { type: "email"; email: EmptyObject; }; type FilesDatabasePropertyConfigResponse = { type: "files"; files: EmptyObject; }; type FormulaDatabasePropertyConfigResponse = { type: "formula"; formula: { expression: string; }; }; type LastEditedByDatabasePropertyConfigResponse = { type: "last_edited_by"; last_edited_by: EmptyObject; }; type LastEditedTimeDatabasePropertyConfigResponse = { type: "last_edited_time"; last_edited_time: EmptyObject; }; type MultiSelectDatabasePropertyConfigResponse = { type: "multi_select"; multi_select: { options: Array; }; }; type NumberDatabasePropertyConfigResponse = { type: "number"; number: { format: NumberFormat; }; }; /** * The parent of the data source. This is typically a database (`database_id`), but for * externally synced data sources, can be another data source (`data_source_id`). */ type ParentOfDataSourceResponse = DatabaseParentResponse | DataSourceParentResponse; export type PartialDataSourceObjectResponse = { object: "data_source"; id: IdResponse; properties: Record; }; type PeopleDatabasePropertyConfigResponse = { type: "people"; people: EmptyObject; }; type PhoneNumberDatabasePropertyConfigResponse = { type: "phone_number"; phone_number: EmptyObject; }; type RelationDatabasePropertyConfigResponse = { type: "relation"; relation: DatabasePropertyRelationConfigResponse; }; type RichTextDatabasePropertyConfigResponse = { type: "rich_text"; rich_text: EmptyObject; }; type RollupDatabasePropertyConfigResponse = { type: "rollup"; rollup: { function: RollupFunction; rollup_property_name: string; relation_property_name: string; rollup_property_id: string; relation_property_id: string; }; }; type SelectDatabasePropertyConfigResponse = { type: "select"; select: { options: Array; }; }; type SelectPropertyResponse = { id: string; name: string; color: SelectColor; description: string | null; }; type SinglePropertyDatabasePropertyRelationConfigResponse = { type: "single_property"; single_property: EmptyObject; }; type StatusDatabasePropertyConfigResponse = { type: "status"; status: { options: Array; groups: Array<{ id: string; name: string; color: SelectColor; option_ids: Array; }>; }; }; type StatusPropertyResponse = { id: string; name: string; color: SelectColor; description: string | null; }; type TitleDatabasePropertyConfigResponse = { type: "title"; title: EmptyObject; }; type UniqueIdDatabasePropertyConfigResponse = { type: "unique_id"; unique_id: { prefix: string | null; }; }; type UrlDatabasePropertyConfigResponse = { type: "url"; url: EmptyObject; }; type GetDataSourcePathParameters = { data_source_id: IdRequest; }; export type GetDataSourceParameters = GetDataSourcePathParameters; export type GetDataSourceResponse = PartialDataSourceObjectResponse | DataSourceObjectResponse; /** * Retrieve a data source */ export declare const getDataSource: { readonly method: "get"; readonly pathParams: readonly ["data_source_id"]; readonly queryParams: readonly []; readonly bodyParams: readonly []; readonly path: (p: GetDataSourcePathParameters) => string; }; type UpdateDataSourcePathParameters = { data_source_id: IdRequest; }; type UpdateDataSourceBodyParameters = { title?: Array; icon?: PageIconRequest | null; properties?: Record; }; } | { type?: "multi_select"; multi_select: { options?: Array<{ color?: SelectColor; description?: string | null; } & ({ name: string; id?: string; } | { id: string; name?: string; })>; }; } | { type?: "status"; status: StatusPropertyConfigUpdateRequest; } | { type?: "relation"; relation: { data_source_id: IdRequest; } & ({ type?: "single_property"; single_property: EmptyObject; } | { type?: "dual_property"; dual_property: { synced_property_id?: string; synced_property_name?: string; }; }); } | { type?: "rollup"; rollup: { function: RollupFunction; } & ({ relation_property_name: string; rollup_property_name: string; } | { relation_property_id: string; rollup_property_name: string; } | { relation_property_name: string; rollup_property_id: string; } | { relation_property_id: string; rollup_property_id: string; }); } | { type?: "unique_id"; unique_id: { prefix?: string | null; }; } | { type?: "title"; title: EmptyObject; } | { type?: "rich_text"; rich_text: EmptyObject; } | { type?: "url"; url: EmptyObject; } | { type?: "people"; people: EmptyObject; } | { type?: "files"; files: EmptyObject; } | { type?: "email"; email: EmptyObject; } | { type?: "phone_number"; phone_number: EmptyObject; } | { type?: "date"; date: EmptyObject; } | { type?: "checkbox"; checkbox: EmptyObject; } | { type?: "created_by"; created_by: EmptyObject; } | { type?: "created_time"; created_time: EmptyObject; } | { type?: "last_edited_by"; last_edited_by: EmptyObject; } | { type?: "last_edited_time"; last_edited_time: EmptyObject; } | { type?: "place"; place: EmptyObject; })) | { name: string; } | null>; in_trash?: boolean; /** @deprecated Use `in_trash` instead. */ archived?: boolean; parent?: ParentOfDataSourceRequest; }; export type UpdateDataSourceParameters = UpdateDataSourcePathParameters & UpdateDataSourceBodyParameters; export type UpdateDataSourceResponse = PartialDataSourceObjectResponse | DataSourceObjectResponse; /** * Update a data source */ export declare const updateDataSource: { readonly method: "patch"; readonly pathParams: readonly ["data_source_id"]; readonly queryParams: readonly []; readonly bodyParams: readonly ["archived", "title", "icon", "properties", "in_trash", "parent"]; readonly path: (p: UpdateDataSourcePathParameters) => string; }; type QueryDataSourcePathParameters = { data_source_id: IdRequest; }; type QueryDataSourceQueryParameters = { filter_properties?: Array; }; type QueryDataSourceBodyParameters = { sorts?: Array<{ property: string; direction: "ascending" | "descending"; } | { timestamp: "created_time" | "last_edited_time"; direction: "ascending" | "descending"; }>; filter?: { or: GroupFilterOperatorArray; } | { and: GroupFilterOperatorArray; } | PropertyFilter | TimestampFilter; start_cursor?: string; page_size?: number; in_trash?: boolean; /** @deprecated Use `in_trash` instead. */ archived?: boolean; result_type?: "page" | "data_source"; }; export type QueryDataSourceParameters = QueryDataSourcePathParameters & QueryDataSourceQueryParameters & QueryDataSourceBodyParameters; export type QueryDataSourceResponse = { type: "page_or_data_source"; page_or_data_source: EmptyObject; object: "list"; next_cursor: string | null; has_more: boolean; results: Array; }; /** * Query a data source */ export declare const queryDataSource: { readonly method: "post"; readonly pathParams: readonly ["data_source_id"]; readonly queryParams: readonly ["filter_properties"]; readonly bodyParams: readonly ["archived", "sorts", "filter", "start_cursor", "page_size", "in_trash", "result_type"]; readonly path: (p: QueryDataSourcePathParameters) => string; }; type CreateDataSourceBodyParameters = { parent: ParentOfDataSourceRequest; properties: Record; title?: Array; icon?: PageIconRequest | null; }; export type CreateDataSourceParameters = CreateDataSourceBodyParameters; export type CreateDataSourceResponse = PartialDataSourceObjectResponse | DataSourceObjectResponse; /** * Create a data source */ export declare const createDataSource: { readonly method: "post"; readonly pathParams: readonly []; readonly queryParams: readonly []; readonly bodyParams: readonly ["parent", "properties", "title", "icon"]; readonly path: () => string; }; type ListDataSourceTemplatesPathParameters = { data_source_id: IdRequest; }; type ListDataSourceTemplatesQueryParameters = { name?: string; start_cursor?: string; page_size?: number; }; export type ListDataSourceTemplatesParameters = ListDataSourceTemplatesPathParameters & ListDataSourceTemplatesQueryParameters; export type ListDataSourceTemplatesResponse = { templates: Array<{ id: IdResponse; name: string; is_default: boolean; }>; has_more: boolean; next_cursor: IdResponse | null; }; /** * List templates in a data source */ export declare const listDataSourceTemplates: { readonly method: "get"; readonly pathParams: readonly ["data_source_id"]; readonly queryParams: readonly ["name", "start_cursor", "page_size"]; readonly bodyParams: readonly []; readonly path: (p: ListDataSourceTemplatesPathParameters) => string; }; export {}; //# sourceMappingURL=data-sources.d.ts.map