type AgentIdParentForBlockBasedObjectResponse = {
    type: "agent_id";
    agent_id: IdResponse;
};
type AnnotationResponse = {
    bold: boolean;
    italic: boolean;
    strikethrough: boolean;
    underline: boolean;
    code: boolean;
    color: ApiColor;
};
/**
 * One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`,
 * `pink`, `red`, `default_background`, `gray_background`, `brown_background`,
 * `orange_background`, `yellow_background`, `green_background`, `blue_background`,
 * `purple_background`, `pink_background`, `red_background`
 */
export type ApiColor = "default" | "gray" | "brown" | "orange" | "yellow" | "green" | "blue" | "purple" | "pink" | "red" | "default_background" | "gray_background" | "brown_background" | "orange_background" | "yellow_background" | "green_background" | "blue_background" | "purple_background" | "pink_background" | "red_background";
type BlockIdParentForBlockBasedObjectResponse = {
    type: "block_id";
    block_id: IdResponse;
};
type BoardViewConfigRequest = {
    type: "board";
    group_by: GroupByConfigRequest;
    sub_group_by?: GroupByConfigRequest | null;
    properties?: Array<ViewPropertyConfigRequest> | null;
    cover?: CoverConfigRequest | null;
    cover_size?: "small" | "medium" | "large" | null;
    cover_aspect?: "contain" | "cover" | null;
    card_layout?: "list" | "compact" | null;
};
type BotInfoResponse = {
    owner: {
        type: "user";
        user: {
            id: IdResponse;
            object: "user";
            name: string | null;
            avatar_url: string | null;
            type: "person";
            person: {
                email?: string;
            };
        } | PartialUserObjectResponse;
    } | {
        type: "workspace";
        workspace: true;
    };
    workspace_id: string;
    workspace_limits: {
        max_file_upload_size_in_bytes: number;
    };
    workspace_name: string | null;
};
export type BotUserObjectResponse = {
    type: "bot";
    bot: EmptyObject | BotInfoResponse;
};
type ButtonPropertyConfigurationRequest = {
    type?: "button";
    button: EmptyObject;
};
type CalendarViewConfigRequest = {
    type: "calendar";
    date_property_id: string;
    properties?: Array<ViewPropertyConfigRequest> | null;
    view_range?: "week" | "month" | null;
    show_weekends?: boolean | null;
};
type ChartAggregationRequest = {
    aggregator: "count" | "count_values" | "sum" | "average" | "median" | "min" | "max" | "range" | "unique" | "empty" | "not_empty" | "percent_empty" | "percent_not_empty" | "checked" | "unchecked" | "percent_checked" | "percent_unchecked" | "earliest_date" | "latest_date" | "date_range";
    property_id?: string;
};
type ChartReferenceLineRequest = {
    value: number;
    label: string;
    color: "gray" | "lightgray" | "brown" | "yellow" | "orange" | "green" | "blue" | "purple" | "pink" | "red";
    dash_style: "solid" | "dash";
    id?: string;
};
type ChartViewConfigRequest = {
    type: "chart";
    chart_type: "column" | "bar" | "line" | "donut" | "number";
    x_axis?: GroupByConfigRequest | null;
    y_axis?: ChartAggregationRequest | null;
    x_axis_property_id?: string | null;
    y_axis_property_id?: string | null;
    value?: ChartAggregationRequest | null;
    sort?: "manual" | "x_ascending" | "x_descending" | "y_ascending" | "y_descending" | null;
    color_theme?: "gray" | "blue" | "yellow" | "green" | "purple" | "teal" | "orange" | "pink" | "red" | "auto" | "colorful" | null;
    height?: "small" | "medium" | "large" | "extra_large" | null;
    hide_empty_groups?: boolean | null;
    legend_position?: "off" | "bottom" | "side" | null;
    show_data_labels?: boolean | null;
    axis_labels?: "none" | "x_axis" | "y_axis" | "both" | null;
    grid_lines?: "none" | "horizontal" | "vertical" | "both" | null;
    cumulative?: boolean | null;
    smooth_line?: boolean | null;
    hide_line_fill_area?: boolean | null;
    group_style?: "normal" | "percent" | "side_by_side" | null;
    y_axis_min?: number | null;
    y_axis_max?: number | null;
    donut_labels?: "none" | "value" | "name" | "name_and_value" | null;
    hide_title?: boolean | null;
    stack_by?: GroupByConfigRequest | null;
    reference_lines?: Array<ChartReferenceLineRequest> | null;
    caption?: string | null;
    color_by_value?: boolean | null;
};
type CheckboxGroupByConfigRequest = {
    type: "checkbox";
    property_id: string;
    sort: GroupSortRequest;
    hide_empty_groups?: boolean;
};
type CheckboxPropertyConfigurationRequest = {
    type?: "checkbox";
    checkbox: EmptyObject;
};
type CheckboxPropertyFilter = {
    equals: boolean;
} | {
    does_not_equal: boolean;
};
export type ContentPositionSchema = {
    type: "after_block";
    after_block: {
        id: IdRequest;
    };
} | {
    type: "start";
} | {
    type: "end";
};
export type ContentWithRichTextColorAndIconUpdateRequest = {
    rich_text?: Array<RichTextItemRequest>;
    icon?: PageIconRequest;
    color?: ApiColor;
};
type CoverConfigRequest = {
    type: "page_cover" | "page_content" | "property";
    property_id?: string;
};
type CreateDatabaseForViewRequest = {
    parent: {
        type: "page_id";
        page_id: IdRequest;
    };
    position?: {
        type: "after_block";
        block_id: IdRequest;
    };
};
export type CreateViewQueryRequest = {
    page_size?: number;
};
export type CreateViewRequest = {
    data_source_id: IdRequest;
    name: string;
    type: ViewTypeRequest;
    database_id?: IdRequest;
    view_id?: IdRequest;
    filter?: ViewFilterRequest;
    sorts?: ViewSortsRequest;
    quick_filters?: Record<string, QuickFilterConditionRequest>;
    create_database?: CreateDatabaseForViewRequest;
    configuration?: ViewConfigRequest;
    position?: ViewPositionRequest;
    placement?: WidgetPlacementRequest;
};
type CreatedByPropertyConfigurationRequest = {
    type?: "created_by";
    created_by: EmptyObject;
};
type CreatedTimePropertyConfigurationRequest = {
    type?: "created_time";
    created_time: EmptyObject;
};
type CustomEmojiPageIconResponse = {
    type: "custom_emoji";
    custom_emoji: CustomEmojiResponse;
};
export type CustomEmojiResponse = {
    id: IdResponse;
    name: string;
    url: string;
};
export type DataSourceParentResponse = {
    type: "data_source_id";
    data_source_id: IdResponse;
    database_id: IdResponse;
};
export type DataSourceViewReferenceResponse = {
    object: "view";
    id: IdResponse;
};
export type DatabaseParentResponse = {
    type: "database_id";
    database_id: IdResponse;
};
type DateGroupByConfigRequest = {
    type: "date" | "created_time" | "last_edited_time";
    property_id: string;
    group_by: "relative" | "day" | "week" | "month" | "year";
    sort: GroupSortRequest;
    hide_empty_groups?: boolean;
    start_day_of_week?: 0 | 1;
};
type DateOrRelativeDate = string | RelativeDateValue;
type DatePropertyConfigurationRequest = {
    type?: "date";
    date: EmptyObject;
};
type DatePropertyFilter = {
    equals: DateOrRelativeDate;
} | {
    before: DateOrRelativeDate;
} | {
    after: DateOrRelativeDate;
} | {
    on_or_before: DateOrRelativeDate;
} | {
    on_or_after: DateOrRelativeDate;
} | {
    this_week: EmptyObject;
} | {
    past_week: EmptyObject;
} | {
    past_month: EmptyObject;
} | {
    past_year: EmptyObject;
} | {
    next_week: EmptyObject;
} | {
    next_month: EmptyObject;
} | {
    next_year: EmptyObject;
} | ExistencePropertyFilter;
export type DateResponse = {
    start: string;
    end: string | null;
    time_zone: TimeZoneRequest | null;
};
type EmailPropertyConfigurationRequest = {
    type?: "email";
    email: EmptyObject;
};
type EmojiPageIconResponse = {
    type: "emoji";
    emoji: EmojiRequest;
};
type EmojiRequest = string;
export type EmptyObject = Record<string, never>;
export type EquationRichTextItemResponse = {
    type: "equation";
    equation: {
        expression: string;
    };
};
type ExistencePropertyFilter = {
    is_empty: true;
} | {
    is_not_empty: true;
};
type ExternalPageCoverRequest = {
    type?: "external";
    external: {
        url: string;
    };
};
type ExternalPageCoverResponse = {
    type: "external";
    external: {
        url: string;
    };
};
type ExternalPageIconResponse = {
    type: "external";
    external: {
        url: string;
    };
};
type FilePageCoverResponse = {
    type: "file";
    file: InternalFileResponse;
};
type FilePageIconResponse = {
    type: "file";
    file: InternalFileResponse;
};
type FileUploadPageCoverRequest = {
    type?: "file_upload";
    file_upload: {
        id: string;
    };
};
export type FileUploadWithOptionalNameRequest = {
    file_upload: FileUploadIdRequest;
    type?: "file_upload";
    name?: StringRequest;
};
type FilesPropertyConfigurationRequest = {
    type?: "files";
    files: EmptyObject;
};
type FormViewConfigRequest = {
    type: "form";
    is_form_closed?: boolean | null;
    anonymous_submissions?: boolean | null;
    submission_permissions?: "none" | "comment_only" | "reader" | "read_and_write" | "editor" | null;
};
type FormulaCheckboxSubGroupByRequest = {
    type: "checkbox";
    sort: GroupSortRequest;
};
type FormulaDateSubGroupByRequest = {
    type: "date";
    group_by: "relative" | "day" | "week" | "month" | "year";
    sort: GroupSortRequest;
    start_day_of_week?: 0 | 1;
};
type FormulaGroupByConfigRequest = {
    type: "formula";
    property_id: string;
    group_by: FormulaDateSubGroupByRequest | FormulaTextSubGroupByRequest | FormulaNumberSubGroupByRequest | FormulaCheckboxSubGroupByRequest;
    hide_empty_groups?: boolean;
};
type FormulaNumberSubGroupByRequest = {
    type: "number";
    sort: GroupSortRequest;
    range_start?: number;
    range_end?: number;
    range_size?: number;
};
type FormulaPropertyConfigurationRequest = {
    type?: "formula";
    formula: {
        expression?: string;
    };
};
type FormulaPropertyFilter = {
    string: TextPropertyFilter;
} | {
    checkbox: CheckboxPropertyFilter;
} | {
    number: NumberPropertyFilter;
} | {
    date: DatePropertyFilter;
};
type FormulaTextSubGroupByRequest = {
    type: "text";
    group_by: "exact" | "alphabet_prefix";
    sort: GroupSortRequest;
};
type GalleryViewConfigRequest = {
    type: "gallery";
    properties?: Array<ViewPropertyConfigRequest> | null;
    cover?: CoverConfigRequest | null;
    cover_size?: "small" | "medium" | "large" | null;
    cover_aspect?: "contain" | "cover" | null;
    card_layout?: "list" | "compact" | null;
};
/**
 * Group-by configuration based on property type.
 */
type GroupByConfigRequest = SelectGroupByConfigRequest | StatusGroupByConfigRequest | PersonGroupByConfigRequest | RelationGroupByConfigRequest | DateGroupByConfigRequest | TextGroupByConfigRequest | NumberGroupByConfigRequest | CheckboxGroupByConfigRequest | FormulaGroupByConfigRequest;
export type GroupFilterOperatorArray = Array<PropertyOrTimestampFilter | {
    or: PropertyOrTimestampFilterArray;
} | {
    and: PropertyOrTimestampFilterArray;
}>;
export type GroupObjectRequest = {
    id: IdRequest;
    name?: string | null;
    object?: "group";
};
export type GroupObjectResponse = {
    id: IdResponse;
    object: "group";
    name: string | null;
};
type GroupSortRequest = {
    type: "manual" | "ascending" | "descending";
};
type IconPageIconResponse = {
    type: "icon";
    icon: NoticonIconResponse;
};
export type IdRequest = string;
export type IdResponse = string;
export type InitialDataSourceRequest = {
    properties?: Record<string, PropertyConfigurationRequest>;
};
type InternalFileRequest = {
    url: string;
    expiry_time?: string;
};
export type InternalFileResponse = {
    url: string;
    expiry_time: string;
};
export type InternalOrExternalFileWithNameRequest = {
    file: InternalFileRequest;
    name: StringRequest;
    type?: "file";
} | {
    external: ExternalFileRequest;
    name: StringRequest;
    type?: "external";
};
type LastEditedByPropertyConfigurationRequest = {
    type?: "last_edited_by";
    last_edited_by: EmptyObject;
};
type LastEditedTimePropertyConfigurationRequest = {
    type?: "last_edited_time";
    last_edited_time: EmptyObject;
};
type LastVisitedTimePropertyConfigurationRequest = {
    type?: "last_visited_time";
    last_visited_time: EmptyObject;
};
type LinkMentionResponse = {
    href: string;
    title?: string;
    description?: string;
    link_author?: string;
    link_provider?: string;
    thumbnail_url?: string;
    icon_url?: string;
    iframe_url?: string;
    height?: number;
    padding?: number;
    padding_top?: number;
};
type LinkPreviewMentionResponse = {
    url: string;
};
type ListViewConfigRequest = {
    type: "list";
    properties?: Array<ViewPropertyConfigRequest> | null;
};
type LocationPropertyConfigurationRequest = {
    type?: "location";
    location: EmptyObject;
};
type MapViewConfigRequest = {
    type: "map";
    height?: "small" | "medium" | "large" | "extra_large" | null;
    map_by?: string | null;
    properties?: Array<ViewPropertyConfigRequest> | null;
};
export type MentionRichTextItemResponse = {
    type: "mention";
    mention: {
        type: "user";
        user: UserValueResponse;
    } | {
        type: "date";
        date: DateResponse;
    } | {
        type: "link_preview";
        link_preview: LinkPreviewMentionResponse;
    } | {
        type: "link_mention";
        link_mention: LinkMentionResponse;
    } | {
        type: "page";
        page: {
            id: IdResponse;
        };
    } | {
        type: "database";
        database: {
            id: IdResponse;
        };
    } | {
        type: "template_mention";
        template_mention: TemplateMentionResponse;
    } | {
        type: "custom_emoji";
        custom_emoji: CustomEmojiResponse;
    };
};
type MultiSelectPropertyConfigurationRequest = {
    type?: "multi_select";
    multi_select: {
        options?: Array<{
            name: string;
            color?: SelectColor;
            description?: string | null;
        }>;
    };
};
type MultiSelectPropertyFilter = {
    contains: StringOrStringArray;
} | {
    does_not_contain: StringOrStringArray;
} | ExistencePropertyFilter;
/**
 * One of: `gray`, `lightgray`, `brown`, `yellow`, `orange`, `green`, `blue`, `purple`,
 * `pink`, `red`
 */
type NoticonColor = "gray" | "lightgray" | "brown" | "yellow" | "orange" | "green" | "blue" | "purple" | "pink" | "red";
type NoticonIconResponse = {
    name: NoticonName;
    color: NoticonColor;
};
type NoticonName = string;
type NumberGroupByConfigRequest = {
    type: "number";
    property_id: string;
    sort: GroupSortRequest;
    hide_empty_groups?: boolean;
    range_start?: number;
    range_end?: number;
    range_size?: number;
};
type NumberPropertyConfigurationRequest = {
    type?: "number";
    number: {
        format?: NumberFormat;
    };
};
type NumberPropertyFilter = {
    equals: number;
} | {
    does_not_equal: number;
} | {
    greater_than: number;
} | {
    less_than: number;
} | {
    greater_than_or_equal_to: number;
} | {
    less_than_or_equal_to: number;
} | ExistencePropertyFilter;
export type PageCoverRequest = FileUploadPageCoverRequest | ExternalPageCoverRequest;
export type PageCoverResponse = FilePageCoverResponse | ExternalPageCoverResponse;
export type PageIconResponse = EmojiPageIconResponse | FilePageIconResponse | ExternalPageIconResponse | CustomEmojiPageIconResponse | IconPageIconResponse;
type PageIdParentForBlockBasedObjectResponse = {
    type: "page_id";
    page_id: IdResponse;
};
export type PageMarkdownResponse = {
    object: "page_markdown";
    id: IdResponse;
    markdown: string;
    truncated: boolean;
    unknown_block_ids: Array<IdResponse>;
};
export type PagePositionSchema = {
    type: "after_block";
    after_block: {
        id: IdRequest;
    };
} | {
    type: "page_start";
} | {
    type: "page_end";
};
export type ParentForBlockBasedObjectResponse = DatabaseParentResponse | DataSourceParentResponse | PageIdParentForBlockBasedObjectResponse | BlockIdParentForBlockBasedObjectResponse | AgentIdParentForBlockBasedObjectResponse | WorkspaceParentForBlockBasedObjectResponse;
export type ParentOfDataSourceRequest = {
    type?: "database_id";
    database_id: IdRequest;
};
export type ParentOfDatabaseResponse = PageIdParentForBlockBasedObjectResponse | WorkspaceParentForBlockBasedObjectResponse | DatabaseParentResponse | BlockIdParentForBlockBasedObjectResponse;
export type PartialUserObjectResponse = {
    id: IdResponse;
    object: "user";
};
type PeoplePropertyConfigurationRequest = {
    type?: "people";
    people: EmptyObject;
};
type PeoplePropertyFilter = {
    contains: PersonIdOrMe;
} | {
    does_not_contain: PersonIdOrMe;
} | ExistencePropertyFilter;
type PersonGroupByConfigRequest = {
    type: "person" | "created_by" | "last_edited_by";
    property_id: string;
    sort: GroupSortRequest;
    hide_empty_groups?: boolean;
};
type PersonIdOrMe = IdRequest | "me";
export type PersonUserObjectResponse = {
    type: "person";
    person: {
        email?: string;
    };
};
type PhoneNumberPropertyConfigurationRequest = {
    type?: "phone_number";
    phone_number: EmptyObject;
};
type PlacePropertyConfigurationRequest = {
    type?: "place";
    place: EmptyObject;
};
export type PropertyConfigurationRequest = PropertyConfigurationRequestCommon & (NumberPropertyConfigurationRequest | FormulaPropertyConfigurationRequest | SelectPropertyConfigurationRequest | MultiSelectPropertyConfigurationRequest | StatusPropertyConfigurationRequest | RelationPropertyConfigurationRequest | RollupPropertyConfigurationRequest | UniqueIdPropertyConfigurationRequest | TitlePropertyConfigurationRequest | RichTextPropertyConfigurationRequest | UrlPropertyConfigurationRequest | PeoplePropertyConfigurationRequest | FilesPropertyConfigurationRequest | EmailPropertyConfigurationRequest | PhoneNumberPropertyConfigurationRequest | DatePropertyConfigurationRequest | CheckboxPropertyConfigurationRequest | CreatedByPropertyConfigurationRequest | CreatedTimePropertyConfigurationRequest | LastEditedByPropertyConfigurationRequest | LastEditedTimePropertyConfigurationRequest | ButtonPropertyConfigurationRequest | LocationPropertyConfigurationRequest | VerificationPropertyConfigurationRequest | LastVisitedTimePropertyConfigurationRequest | PlacePropertyConfigurationRequest);
type PropertyConfigurationRequestCommon = {
    description?: PropertyDescriptionRequest | null;
};
export type PropertyFilter = {
    title: TextPropertyFilter;
    property: string;
    type?: "title";
} | {
    rich_text: TextPropertyFilter;
    property: string;
    type?: "rich_text";
} | {
    number: NumberPropertyFilter;
    property: string;
    type?: "number";
} | {
    checkbox: CheckboxPropertyFilter;
    property: string;
    type?: "checkbox";
} | {
    select: SelectPropertyFilter;
    property: string;
    type?: "select";
} | {
    multi_select: MultiSelectPropertyFilter;
    property: string;
    type?: "multi_select";
} | {
    status: StatusPropertyFilter;
    property: string;
    type?: "status";
} | {
    date: DatePropertyFilter;
    property: string;
    type?: "date";
} | {
    people: PeoplePropertyFilter;
    property: string;
    type?: "people";
} | {
    files: ExistencePropertyFilter;
    property: string;
    type?: "files";
} | {
    url: TextPropertyFilter;
    property: string;
    type?: "url";
} | {
    email: TextPropertyFilter;
    property: string;
    type?: "email";
} | {
    phone_number: TextPropertyFilter;
    property: string;
    type?: "phone_number";
} | {
    relation: RelationPropertyFilter;
    property: string;
    type?: "relation";
} | {
    created_by: PeoplePropertyFilter;
    property: string;
    type?: "created_by";
} | {
    created_time: DatePropertyFilter;
    property: string;
    type?: "created_time";
} | {
    last_edited_by: PeoplePropertyFilter;
    property: string;
    type?: "last_edited_by";
} | {
    last_edited_time: DatePropertyFilter;
    property: string;
    type?: "last_edited_time";
} | {
    formula: FormulaPropertyFilter;
    property: string;
    type?: "formula";
} | {
    unique_id: NumberPropertyFilter;
    property: string;
    type?: "unique_id";
} | {
    rollup: RollupPropertyFilter;
    property: string;
    type?: "rollup";
} | {
    verification: VerificationPropertyStatusFilter;
    property: string;
    type?: "verification";
};
type PropertyOrTimestampFilter = PropertyFilter | TimestampFilter;
type PropertyOrTimestampFilterArray = Array<PropertyOrTimestampFilter>;
/**
 * A property filter condition. Same shape as a property filter but without the
 * "property" field (the hashmap key identifies the property). For example: { "select": {
 * "equals": "High" } }.
 */
type QuickFilterConditionRequest = Record<string, never>;
type RelationGroupByConfigRequest = {
    type: "relation";
    property_id: string;
    sort: GroupSortRequest;
    hide_empty_groups?: boolean;
};
type RelationPropertyConfigurationRequest = {
    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 RelationPropertyFilter = {
    contains: IdRequest;
} | {
    does_not_contain: IdRequest;
} | ExistencePropertyFilter;
type RelativeDateValue = "today" | "tomorrow" | "yesterday" | "one_week_ago" | "one_week_from_now" | "one_month_ago" | "one_month_from_now";
export type RichTextItemResponse = RichTextItemResponseCommon & (TextRichTextItemResponse | MentionRichTextItemResponse | EquationRichTextItemResponse);
export type RichTextItemResponseCommon = {
    plain_text: string;
    href: string | null;
    annotations: AnnotationResponse;
};
type RichTextPropertyConfigurationRequest = {
    type?: "rich_text";
    rich_text: EmptyObject;
};
export type RollupFunction = "count" | "count_values" | "empty" | "not_empty" | "unique" | "show_unique" | "percent_empty" | "percent_not_empty" | "sum" | "average" | "median" | "min" | "max" | "range" | "earliest_date" | "latest_date" | "date_range" | "checked" | "unchecked" | "percent_checked" | "percent_unchecked" | "count_per_group" | "percent_per_group" | "show_original";
type RollupPropertyConfigurationRequest = {
    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 RollupPropertyFilter = {
    any: RollupSubfilterPropertyFilter;
} | {
    none: RollupSubfilterPropertyFilter;
} | {
    every: RollupSubfilterPropertyFilter;
} | {
    date: DatePropertyFilter;
} | {
    number: NumberPropertyFilter;
};
type RollupSubfilterPropertyFilter = {
    rich_text: TextPropertyFilter;
} | {
    number: NumberPropertyFilter;
} | {
    checkbox: CheckboxPropertyFilter;
} | {
    select: SelectPropertyFilter;
} | {
    multi_select: MultiSelectPropertyFilter;
} | {
    relation: RelationPropertyFilter;
} | {
    date: DatePropertyFilter;
} | {
    people: PeoplePropertyFilter;
} | {
    files: ExistencePropertyFilter;
} | {
    status: StatusPropertyFilter;
};
/**
 * One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`,
 * `pink`, `red`
 */
export type SelectColor = "default" | "gray" | "brown" | "orange" | "yellow" | "green" | "blue" | "purple" | "pink" | "red";
type SelectGroupByConfigRequest = {
    type: "select" | "multi_select";
    property_id: string;
    sort: GroupSortRequest;
    hide_empty_groups?: boolean;
};
type SelectPropertyConfigurationRequest = {
    type?: "select";
    select: {
        options?: Array<{
            name: string;
            color?: SelectColor;
            description?: string | null;
        }>;
    };
};
type SelectPropertyFilter = {
    equals: StringOrStringArray;
} | {
    does_not_equal: StringOrStringArray;
} | ExistencePropertyFilter;
/**
 * One of: `ascending`, `descending`
 */
type SortDirectionRequest = "ascending" | "descending";
type StatusGroupByConfigRequest = {
    type: "status";
    property_id: string;
    group_by: "group" | "option";
    sort: GroupSortRequest;
    hide_empty_groups?: boolean;
};
type StatusPropertyConfigRequest = {
    options?: Array<{
        name: string;
        color?: SelectColor;
        description?: string | null;
    }>;
};
export type StatusPropertyConfigUpdateRequest = {
    options?: Array<{
        color?: SelectColor;
        description?: string | null;
    } & ({
        name: string;
        id?: string;
    } | {
        id: string;
        name?: string;
    })>;
};
type StatusPropertyConfigurationRequest = {
    type?: "status";
    status: StatusPropertyConfigRequest;
};
type StatusPropertyFilter = {
    equals: StringOrStringArray;
} | {
    does_not_equal: StringOrStringArray;
} | ExistencePropertyFilter;
type StringOrStringArray = string | Array<string>;
type SubtaskConfigRequest = {
    property_id?: string;
    display_mode?: "show" | "hidden" | "flattened" | "disabled";
    filter_scope?: "parents" | "parents_and_subitems" | "subitems";
    toggle_column_id?: string;
};
type TableViewConfigRequest = {
    type: "table";
    properties?: Array<ViewPropertyConfigRequest> | null;
    group_by?: GroupByConfigRequest | null;
    subtasks?: SubtaskConfigRequest | null;
    wrap_cells?: boolean;
    frozen_column_index?: number;
    show_vertical_lines?: boolean;
};
type TemplateMentionDateTemplateMentionResponse = {
    type: "template_mention_date";
    template_mention_date: "today" | "now";
};
type TemplateMentionResponse = TemplateMentionDateTemplateMentionResponse | TemplateMentionUserTemplateMentionResponse;
type TemplateMentionUserTemplateMentionResponse = {
    type: "template_mention_user";
    template_mention_user: "me";
};
/**
 * IANA timezone to use when resolving template variables like @now and @today (e.g.
 * 'America/New_York'). Defaults to the authorizing user's timezone for public
 * integrations, or UTC for internal integrations.
 */
export type TemplateTimezone = string;
type TextGroupByConfigRequest = {
    type: "text" | "title" | "url" | "email" | "phone_number";
    property_id: string;
    group_by: "exact" | "alphabet_prefix";
    sort: GroupSortRequest;
    hide_empty_groups?: boolean;
};
type TextPropertyFilter = {
    equals: string;
} | {
    does_not_equal: string;
} | {
    contains: string;
} | {
    does_not_contain: string;
} | {
    starts_with: string;
} | {
    ends_with: string;
} | ExistencePropertyFilter;
export type TextRichTextItemResponse = {
    type: "text";
    text: {
        content: string;
        link: {
            url: string;
        } | null;
    };
};
type TimeZoneRequest = string;
type TimelineArrowsByRequest = {
    property_id?: string | null;
};
type TimelinePreferenceRequest = {
    zoom_level: "hours" | "day" | "week" | "bi_week" | "month" | "quarter" | "year" | "5_years";
    center_timestamp?: number;
};
type TimelineViewConfigRequest = {
    type: "timeline";
    date_property_id: string;
    end_date_property_id?: string | null;
    properties?: Array<ViewPropertyConfigRequest> | null;
    show_table?: boolean | null;
    table_properties?: Array<ViewPropertyConfigRequest> | null;
    preference?: TimelinePreferenceRequest | null;
    arrows_by?: TimelineArrowsByRequest | null;
    color_by?: boolean | null;
};
type TimestampCreatedTimeFilter = {
    created_time: DatePropertyFilter;
    timestamp: "created_time";
    type?: "created_time";
};
export type TimestampFilter = TimestampCreatedTimeFilter | TimestampLastEditedTimeFilter;
type TimestampLastEditedTimeFilter = {
    last_edited_time: DatePropertyFilter;
    timestamp: "last_edited_time";
    type?: "last_edited_time";
};
type TitlePropertyConfigurationRequest = {
    type?: "title";
    title: EmptyObject;
};
type UniqueIdPropertyConfigurationRequest = {
    type?: "unique_id";
    unique_id: {
        prefix?: string | null;
    };
};
export type UpdateMediaContentWithFileAndCaptionRequest = {
    caption?: Array<RichTextItemRequest>;
    external?: ExternalFileRequest;
    file_upload?: FileUploadIdRequest;
};
export type UpdateMediaContentWithFileNameAndCaptionRequest = {
    caption?: Array<RichTextItemRequest>;
    external?: ExternalFileRequest;
    file_upload?: FileUploadIdRequest;
    name?: StringRequest;
};
export type UpdateMediaContentWithUrlAndCaptionRequest = {
    url?: string;
    caption?: Array<RichTextItemRequest>;
};
export type UpdateViewRequest = {
    name?: string;
    filter?: ViewFilterRequest | null;
    sorts?: ViewPropertySortsRequest | null;
    quick_filters?: Record<string, QuickFilterConditionRequest | null> | null;
    configuration?: ViewConfigRequest;
};
type UrlPropertyConfigurationRequest = {
    type?: "url";
    url: EmptyObject;
};
export type UserObjectResponse = UserObjectResponseCommon & (PersonUserObjectResponse | BotUserObjectResponse);
export type UserObjectResponseCommon = {
    id: IdResponse;
    object: "user";
    name: string | null;
    avatar_url: string | null;
};
type UserValueResponse = PartialUserObjectResponse | UserObjectResponse;
type VerificationPropertyConfigurationRequest = {
    type?: "verification";
    verification: EmptyObject;
};
type VerificationPropertyStatusFilter = {
    status: "verified" | "expired" | "none";
};
/**
 * View configuration, discriminated by the type field.
 */
type ViewConfigRequest = TableViewConfigRequest | BoardViewConfigRequest | CalendarViewConfigRequest | TimelineViewConfigRequest | GalleryViewConfigRequest | ListViewConfigRequest | MapViewConfigRequest | FormViewConfigRequest | ChartViewConfigRequest;
/**
 * Filter for the view. Uses the same format as the data source query filter (property
 * filters, timestamp filters, or compound and/or filters). Simple property filters appear
 * in the view's filter bar in the Notion UI. Select, status, and multi_select filter
 * operators accept a single string or an array of strings to filter by multiple values
 * (e.g. { "does_not_equal": ["Done", "Archive"] }).
 */
type ViewFilterRequest = Record<string, never>;
/**
 * Position of the new view in the database's view tab bar.
 */
type ViewPositionRequest = {
    type: "start";
} | {
    type: "end";
} | {
    type: "after_view";
    view_id: IdRequest;
};
type ViewPropertyConfigRequest = {
    property_id: string;
    visible?: boolean;
    width?: number;
    wrap?: boolean;
    status_show_as?: "select" | "checkbox";
    card_property_width_mode?: "full_line" | "inline";
    date_format?: "full" | "short" | "month_day_year" | "day_month_year" | "year_month_day" | "relative";
    time_format?: "12_hour" | "24_hour" | "hidden";
};
type ViewPropertySortRequest = {
    property: string;
    direction: SortDirectionRequest;
};
type ViewPropertySortsRequest = Array<ViewPropertySortRequest>;
/**
 * Sort for the view. Can be a property sort (with property and direction) or timestamp
 * sort (with timestamp and direction).
 */
type ViewSortRequest = Record<string, never>;
type ViewSortsRequest = Array<ViewSortRequest>;
/**
 * One of: `table`, `board`, `list`, `calendar`, `timeline`, `gallery`, `form`, `chart`,
 * `map`, `dashboard`
 */
type ViewTypeRequest = "table" | "board" | "list" | "calendar" | "timeline" | "gallery" | "form" | "chart" | "map" | "dashboard";
/**
 * Where to place the new widget in the dashboard. "new_row" creates a new row,
 * "existing_row" adds to an existing row side-by-side with other widgets.
 */
type WidgetPlacementRequest = {
    type: "new_row";
    row_index?: number;
} | {
    type: "existing_row";
    row_index: number;
};
type WorkspaceParentForBlockBasedObjectResponse = {
    type: "workspace";
    workspace: true;
};
export type BlockObjectRequest = {
    embed: MediaContentWithUrlAndCaptionRequest;
    type?: "embed";
    object?: "block";
} | {
    bookmark: MediaContentWithUrlAndCaptionRequest;
    type?: "bookmark";
    object?: "block";
} | {
    image: MediaContentWithFileAndCaptionRequest;
    type?: "image";
    object?: "block";
} | {
    video: MediaContentWithFileAndCaptionRequest;
    type?: "video";
    object?: "block";
} | {
    pdf: MediaContentWithFileAndCaptionRequest;
    type?: "pdf";
    object?: "block";
} | {
    file: MediaContentWithFileNameAndCaptionRequest;
    type?: "file";
    object?: "block";
} | {
    audio: MediaContentWithFileAndCaptionRequest;
    type?: "audio";
    object?: "block";
} | {
    code: {
        rich_text: Array<RichTextItemRequest>;
        language: LanguageRequest;
        caption?: Array<RichTextItemRequest>;
    };
    type?: "code";
    object?: "block";
} | {
    equation: ContentWithExpressionRequest;
    type?: "equation";
    object?: "block";
} | {
    divider: EmptyObject;
    type?: "divider";
    object?: "block";
} | {
    breadcrumb: EmptyObject;
    type?: "breadcrumb";
    object?: "block";
} | {
    tab: TabRequestWithNestedTabItemChildren;
    type?: "tab";
    object?: "block";
} | {
    table_of_contents: {
        color?: ApiColor;
    };
    type?: "table_of_contents";
    object?: "block";
} | {
    link_to_page: {
        page_id: IdRequest;
        type?: "page_id";
    } | {
        database_id: IdRequest;
        type?: "database_id";
    } | {
        comment_id: IdRequest;
        type?: "comment_id";
    };
    type?: "link_to_page";
    object?: "block";
} | {
    table_row: ContentWithTableRowRequest;
    type?: "table_row";
    object?: "block";
} | {
    table: TableRequestWithTableRowChildren;
    type?: "table";
    object?: "block";
} | {
    column_list: ColumnListRequest;
    type?: "column_list";
    object?: "block";
} | {
    column: ColumnWithChildrenRequest;
    type?: "column";
    object?: "block";
} | {
    heading_1: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        is_toggleable?: boolean;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "heading_1";
    object?: "block";
} | {
    heading_2: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        is_toggleable?: boolean;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "heading_2";
    object?: "block";
} | {
    heading_3: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        is_toggleable?: boolean;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "heading_3";
    object?: "block";
} | {
    heading_4: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        is_toggleable?: boolean;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "heading_4";
    object?: "block";
} | {
    paragraph: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        icon?: PageIconRequest;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "paragraph";
    object?: "block";
} | {
    bulleted_list_item: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "bulleted_list_item";
    object?: "block";
} | {
    numbered_list_item: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "numbered_list_item";
    object?: "block";
} | {
    quote: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "quote";
    object?: "block";
} | {
    to_do: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
        checked?: boolean;
    };
    type?: "to_do";
    object?: "block";
} | {
    toggle: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "toggle";
    object?: "block";
} | {
    template: {
        rich_text: Array<RichTextItemRequest>;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "template";
    object?: "block";
} | {
    callout: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
        icon?: PageIconRequest;
    };
    type?: "callout";
    object?: "block";
} | {
    synced_block: {
        synced_from: {
            block_id: IdRequest;
            type?: "block_id";
        } | null;
        children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    };
    type?: "synced_block";
    object?: "block";
};
export type DateRequest = {
    start: string;
    end?: string | null;
    time_zone?: TimeZoneRequest | null;
};
export type PageIconRequest = FileUploadPageIconRequest | EmojiPageIconRequest | ExternalPageIconRequest | CustomEmojiPageIconRequest | IconPageIconRequest;
export type PartialUserObjectRequest = {
    id: IdRequest;
    object?: "user";
};
export type RichTextItemRequest = RichTextItemRequestCommon & (TextRichTextItemRequest | MentionRichTextItemRequest | EquationRichTextItemRequest);
export type StringRequest = string;
export type TextRequest = string;
export type RequestStatusResponse = {
    type: "complete" | "incomplete";
    incomplete_reason?: "query_result_limit_reached";
};
export type PartialPageObjectResponse = {
    object: "page";
    id: IdResponse;
};
export type PageObjectResponse = {
    object: "page";
    id: IdResponse;
    created_time: string;
    last_edited_time: string;
    in_trash: boolean;
    /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */
    archived: boolean;
    is_archived: boolean;
    is_locked: boolean;
    url: string;
    public_url: string | null;
    parent: ParentForBlockBasedObjectResponse;
    properties: Record<string, PagePropertyValueWithIdResponse>;
    icon: PageIconResponse | null;
    cover: PageCoverResponse | null;
    created_by: PartialUserObjectResponse;
    last_edited_by: PartialUserObjectResponse;
};
type BlockObjectWithSingleLevelOfChildrenRequest = {
    embed: MediaContentWithUrlAndCaptionRequest;
    type?: "embed";
    object?: "block";
} | {
    bookmark: MediaContentWithUrlAndCaptionRequest;
    type?: "bookmark";
    object?: "block";
} | {
    image: MediaContentWithFileAndCaptionRequest;
    type?: "image";
    object?: "block";
} | {
    video: MediaContentWithFileAndCaptionRequest;
    type?: "video";
    object?: "block";
} | {
    pdf: MediaContentWithFileAndCaptionRequest;
    type?: "pdf";
    object?: "block";
} | {
    file: MediaContentWithFileNameAndCaptionRequest;
    type?: "file";
    object?: "block";
} | {
    audio: MediaContentWithFileAndCaptionRequest;
    type?: "audio";
    object?: "block";
} | {
    code: {
        rich_text: Array<RichTextItemRequest>;
        language: LanguageRequest;
        caption?: Array<RichTextItemRequest>;
    };
    type?: "code";
    object?: "block";
} | {
    equation: ContentWithExpressionRequest;
    type?: "equation";
    object?: "block";
} | {
    divider: EmptyObject;
    type?: "divider";
    object?: "block";
} | {
    breadcrumb: EmptyObject;
    type?: "breadcrumb";
    object?: "block";
} | {
    tab: TabRequestWithTabItemChildren;
    type?: "tab";
    object?: "block";
} | {
    table_of_contents: {
        color?: ApiColor;
    };
    type?: "table_of_contents";
    object?: "block";
} | {
    link_to_page: {
        page_id: IdRequest;
        type?: "page_id";
    } | {
        database_id: IdRequest;
        type?: "database_id";
    } | {
        comment_id: IdRequest;
        type?: "comment_id";
    };
    type?: "link_to_page";
    object?: "block";
} | {
    table_row: ContentWithTableRowRequest;
    type?: "table_row";
    object?: "block";
} | {
    heading_1: HeaderContentWithSingleLevelOfChildrenRequest;
    type?: "heading_1";
    object?: "block";
} | {
    heading_2: HeaderContentWithSingleLevelOfChildrenRequest;
    type?: "heading_2";
    object?: "block";
} | {
    heading_3: HeaderContentWithSingleLevelOfChildrenRequest;
    type?: "heading_3";
    object?: "block";
} | {
    heading_4: HeaderContentWithSingleLevelOfChildrenRequest;
    type?: "heading_4";
    object?: "block";
} | {
    paragraph: ParagraphWithSingleLevelOfChildrenRequest;
    type?: "paragraph";
    object?: "block";
} | {
    bulleted_list_item: ContentWithSingleLevelOfChildrenRequest;
    type?: "bulleted_list_item";
    object?: "block";
} | {
    numbered_list_item: ContentWithSingleLevelOfChildrenRequest;
    type?: "numbered_list_item";
    object?: "block";
} | {
    quote: ContentWithSingleLevelOfChildrenRequest;
    type?: "quote";
    object?: "block";
} | {
    table: TableRequestWithTableRowChildren;
    type?: "table";
    object?: "block";
} | {
    to_do: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        children?: Array<BlockObjectRequestWithoutChildren>;
        checked?: boolean;
    };
    type?: "to_do";
    object?: "block";
} | {
    toggle: ContentWithSingleLevelOfChildrenRequest;
    type?: "toggle";
    object?: "block";
} | {
    template: {
        rich_text: Array<RichTextItemRequest>;
        children?: Array<BlockObjectRequestWithoutChildren>;
    };
    type?: "template";
    object?: "block";
} | {
    callout: {
        rich_text: Array<RichTextItemRequest>;
        color?: ApiColor;
        children?: Array<BlockObjectRequestWithoutChildren>;
        icon?: PageIconRequest;
    };
    type?: "callout";
    object?: "block";
} | {
    synced_block: {
        synced_from: {
            block_id: IdRequest;
            type?: "block_id";
        } | null;
        children?: Array<BlockObjectRequestWithoutChildren>;
    };
    type?: "synced_block";
    object?: "block";
};
type ColumnListRequest = {
    children: Array<ColumnBlockWithChildrenRequest>;
};
type ColumnWithChildrenRequest = {
    children: Array<BlockObjectWithSingleLevelOfChildrenRequest>;
    width_ratio?: number;
};
export type ContentWithExpressionRequest = {
    expression: string;
};
export type ContentWithTableRowRequest = {
    cells: Array<Array<RichTextItemRequest>>;
};
type CustomEmojiPageIconRequest = {
    type?: "custom_emoji";
    custom_emoji: {
        id: IdRequest;
        name?: string;
        url?: string;
    };
};
type EmojiPageIconRequest = {
    type?: "emoji";
    emoji: EmojiRequest;
};
type EquationRichTextItemRequest = {
    type?: "equation";
    equation: {
        expression: string;
    };
};
type ExternalFileRequest = {
    url: TextRequest;
};
type ExternalPageIconRequest = {
    type?: "external";
    external: {
        url: string;
    };
};
type FileUploadIdRequest = {
    id: IdRequest;
};
type FileUploadPageIconRequest = {
    type?: "file_upload";
    file_upload: {
        id: string;
    };
};
type IconPageIconRequest = {
    type?: "icon";
    icon: {
        name: NoticonName;
        color?: NoticonColor;
    };
};
export type LanguageRequest = "abap" | "abc" | "agda" | "arduino" | "ascii art" | "assembly" | "bash" | "basic" | "bnf" | "c" | "c#" | "c++" | "clojure" | "coffeescript" | "coq" | "css" | "dart" | "dhall" | "diff" | "docker" | "ebnf" | "elixir" | "elm" | "erlang" | "f#" | "flow" | "fortran" | "gherkin" | "glsl" | "go" | "graphql" | "groovy" | "haskell" | "hcl" | "html" | "idris" | "java" | "javascript" | "json" | "julia" | "kotlin" | "latex" | "less" | "lisp" | "livescript" | "llvm ir" | "lua" | "makefile" | "markdown" | "markup" | "matlab" | "mathematica" | "mermaid" | "nix" | "notion formula" | "objective-c" | "ocaml" | "pascal" | "perl" | "php" | "plain text" | "powershell" | "prolog" | "protobuf" | "purescript" | "python" | "r" | "racket" | "reason" | "ruby" | "rust" | "sass" | "scala" | "scheme" | "scss" | "shell" | "smalltalk" | "solidity" | "sql" | "swift" | "toml" | "typescript" | "vb.net" | "verilog" | "vhdl" | "visual basic" | "webassembly" | "xml" | "yaml" | "java/c/c++/c#";
type MediaContentWithFileAndCaptionRequest = {
    external: ExternalFileRequest;
    type?: "external";
    caption?: Array<RichTextItemRequest>;
} | {
    file_upload: FileUploadIdRequest;
    type?: "file_upload";
    caption?: Array<RichTextItemRequest>;
};
type MediaContentWithFileNameAndCaptionRequest = {
    external: ExternalFileRequest;
    type?: "external";
    caption?: Array<RichTextItemRequest>;
    name?: StringRequest;
} | {
    file_upload: FileUploadIdRequest;
    type?: "file_upload";
    caption?: Array<RichTextItemRequest>;
    name?: StringRequest;
};
type MediaContentWithUrlAndCaptionRequest = {
    url: string;
    caption?: Array<RichTextItemRequest>;
};
type MentionRichTextItemRequest = {
    type?: "mention";
    mention: {
        type?: "user";
        user: PartialUserObjectRequest;
    } | {
        type?: "date";
        date: DateRequest;
    } | {
        type?: "page";
        page: {
            id: IdRequest;
        };
    } | {
        type?: "database";
        database: {
            id: IdRequest;
        };
    } | {
        type?: "template_mention";
        template_mention: TemplateMentionRequest;
    } | {
        type?: "custom_emoji";
        custom_emoji: {
            id: IdRequest;
            name?: string;
            url?: string;
        };
    };
};
type RichTextItemRequestCommon = {
    annotations?: AnnotationRequest;
};
type TabRequestWithNestedTabItemChildren = {
    children: Array<TabItemRequestWithSingleLevelOfChildren>;
};
type TableRequestWithTableRowChildren = {
    table_width: number;
    children: Array<TableRowRequest>;
    has_column_header?: boolean;
    has_row_header?: boolean;
};
type TextRichTextItemRequest = {
    type?: "text";
    text: {
        content: string;
        link?: {
            url: string;
        } | null;
    };
};
type PagePropertyValueWithIdResponse = IdObjectResponse & (SimpleOrArrayPropertyValueResponse | PartialRollupPropertyResponse);
export type NumberFormat = string;
export type PropertyDescriptionRequest = string;
type AnnotationRequest = {
    bold?: boolean;
    italic?: boolean;
    strikethrough?: boolean;
    underline?: boolean;
    code?: boolean;
    color?: ApiColor;
};
export type BlockObjectRequestWithoutChildren = {
    embed: MediaContentWithUrlAndCaptionRequest;
    type?: "embed";
    object?: "block";
} | {
    bookmark: MediaContentWithUrlAndCaptionRequest;
    type?: "bookmark";
    object?: "block";
} | {
    image: MediaContentWithFileAndCaptionRequest;
    type?: "image";
    object?: "block";
} | {
    video: MediaContentWithFileAndCaptionRequest;
    type?: "video";
    object?: "block";
} | {
    pdf: MediaContentWithFileAndCaptionRequest;
    type?: "pdf";
    object?: "block";
} | {
    file: MediaContentWithFileNameAndCaptionRequest;
    type?: "file";
    object?: "block";
} | {
    audio: MediaContentWithFileAndCaptionRequest;
    type?: "audio";
    object?: "block";
} | {
    code: {
        rich_text: Array<RichTextItemRequest>;
        language: LanguageRequest;
        caption?: Array<RichTextItemRequest>;
    };
    type?: "code";
    object?: "block";
} | {
    equation: ContentWithExpressionRequest;
    type?: "equation";
    object?: "block";
} | {
    divider: EmptyObject;
    type?: "divider";
    object?: "block";
} | {
    breadcrumb: EmptyObject;
    type?: "breadcrumb";
    object?: "block";
} | {
    tab: EmptyObject;
    type?: "tab";
    object?: "block";
} | {
    table_of_contents: {
        color?: ApiColor;
    };
    type?: "table_of_contents";
    object?: "block";
} | {
    link_to_page: {
        page_id: IdRequest;
        type?: "page_id";
    } | {
        database_id: IdRequest;
        type?: "database_id";
    } | {
        comment_id: IdRequest;
        type?: "comment_id";
    };
    type?: "link_to_page";
    object?: "block";
} | {
    table_row: ContentWithTableRowRequest;
    type?: "table_row";
    object?: "block";
} | {
    heading_1: HeaderContentWithRichTextAndColorRequest;
    type?: "heading_1";
    object?: "block";
} | {
    heading_2: HeaderContentWithRichTextAndColorRequest;
    type?: "heading_2";
    object?: "block";
} | {
    heading_3: HeaderContentWithRichTextAndColorRequest;
    type?: "heading_3";
    object?: "block";
} | {
    heading_4: HeaderContentWithRichTextAndColorRequest;
    type?: "heading_4";
    object?: "block";
} | {
    paragraph: ContentWithRichTextColorAndIconRequest;
    type?: "paragraph";
    object?: "block";
} | {
    bulleted_list_item: ContentWithRichTextAndColorRequest;
    type?: "bulleted_list_item";
    object?: "block";
} | {
    numbered_list_item: ContentWithRichTextAndColorRequest;
    type?: "numbered_list_item";
    object?: "block";
} | {
    quote: ContentWithRichTextAndColorRequest;
    type?: "quote";
    object?: "block";
} | {
    to_do: {
        rich_text: Array<RichTextItemRequest>;
        checked?: boolean;
        color?: ApiColor;
    };
    type?: "to_do";
    object?: "block";
} | {
    toggle: ContentWithRichTextAndColorRequest;
    type?: "toggle";
    object?: "block";
} | {
    template: ContentWithRichTextRequest;
    type?: "template";
    object?: "block";
} | {
    callout: {
        rich_text: Array<RichTextItemRequest>;
        icon?: PageIconRequest;
        color?: ApiColor;
    };
    type?: "callout";
    object?: "block";
} | {
    synced_block: {
        synced_from: {
            block_id: IdRequest;
            type?: "block_id";
        } | null;
    };
    type?: "synced_block";
    object?: "block";
};
type ColumnBlockWithChildrenRequest = {
    column: ColumnWithChildrenRequest;
    type?: "column";
    object?: "block";
};
type ContentWithSingleLevelOfChildrenRequest = {
    rich_text: Array<RichTextItemRequest>;
    color?: ApiColor;
    children?: Array<BlockObjectRequestWithoutChildren>;
};
type HeaderContentWithSingleLevelOfChildrenRequest = {
    rich_text: Array<RichTextItemRequest>;
    color?: ApiColor;
    is_toggleable?: boolean;
    children?: Array<BlockObjectRequestWithoutChildren>;
};
type ParagraphWithSingleLevelOfChildrenRequest = {
    rich_text: Array<RichTextItemRequest>;
    color?: ApiColor;
    icon?: PageIconRequest;
    children?: Array<BlockObjectRequestWithoutChildren>;
};
type TabItemRequestWithSingleLevelOfChildren = {
    paragraph: ParagraphWithSingleLevelOfChildrenRequest;
    type?: "paragraph";
    object?: "block";
};
type TabRequestWithTabItemChildren = {
    children: Array<TabItemRequestWithoutChildren>;
};
type TableRowRequest = {
    table_row: ContentWithTableRowRequest;
    type?: "table_row";
    object?: "block";
};
type TemplateMentionRequest = TemplateMentionDateTemplateMentionRequest | TemplateMentionUserTemplateMentionRequest;
type IdObjectResponse = {
    id: string;
};
type PartialRollupPropertyResponse = {
    type: "rollup";
    rollup: PartialRollupValueResponse;
};
type SimpleOrArrayPropertyValueResponse = SimplePropertyValueResponse | ArrayBasedPropertyValueResponse;
export type ContentWithRichTextAndColorRequest = {
    rich_text: Array<RichTextItemRequest>;
    color?: ApiColor;
};
type ContentWithRichTextColorAndIconRequest = {
    rich_text: Array<RichTextItemRequest>;
    color?: ApiColor;
    icon?: PageIconRequest;
};
export type ContentWithRichTextRequest = {
    rich_text: Array<RichTextItemRequest>;
};
export type HeaderContentWithRichTextAndColorRequest = {
    rich_text: Array<RichTextItemRequest>;
    color?: ApiColor;
    is_toggleable?: boolean;
};
type TabItemRequestWithoutChildren = {
    paragraph: ContentWithRichTextColorAndIconRequest;
    type?: "paragraph";
    object?: "block";
};
type TemplateMentionDateTemplateMentionRequest = {
    type?: "template_mention_date";
    template_mention_date: "today" | "now";
};
type TemplateMentionUserTemplateMentionRequest = {
    type?: "template_mention_user";
    template_mention_user: "me";
};
type ArrayBasedPropertyValueResponse = TitleArrayBasedPropertyValueResponse | RichTextArrayBasedPropertyValueResponse | PeopleArrayBasedPropertyValueResponse | RelationArrayBasedPropertyValueResponse;
type PartialRollupValueResponse = PartialRollupValueResponseCommon & (NumberPartialRollupValueResponse | DatePartialRollupValueResponse | ArrayPartialRollupValueResponse);
type SimplePropertyValueResponse = NumberSimplePropertyValueResponse | UrlSimplePropertyValueResponse | SelectSimplePropertyValueResponse | MultiSelectSimplePropertyValueResponse | StatusSimplePropertyValueResponse | DateSimplePropertyValueResponse | EmailSimplePropertyValueResponse | PhoneNumberSimplePropertyValueResponse | CheckboxSimplePropertyValueResponse | FilesSimplePropertyValueResponse | CreatedBySimplePropertyValueResponse | CreatedTimeSimplePropertyValueResponse | LastEditedBySimplePropertyValueResponse | LastEditedTimeSimplePropertyValueResponse | FormulaSimplePropertyValueResponse | ButtonSimplePropertyValueResponse | UniqueIdSimplePropertyValueResponse | VerificationSimplePropertyValueResponse | PlaceSimplePropertyValueResponse;
type ArrayPartialRollupValueResponse = {
    type: "array";
    array: Array<SimpleOrArrayPropertyValueResponse>;
};
type ButtonSimplePropertyValueResponse = {
    type: "button";
    button: EmptyObject;
};
type CheckboxSimplePropertyValueResponse = {
    type: "checkbox";
    checkbox: boolean;
};
type CreatedBySimplePropertyValueResponse = {
    type: "created_by";
    created_by: UserValueResponse;
};
type CreatedTimeSimplePropertyValueResponse = {
    type: "created_time";
    created_time: string;
};
type DatePartialRollupValueResponse = {
    type: "date";
    date: DateResponse | null;
};
type DateSimplePropertyValueResponse = {
    type: "date";
    date: DateResponse | null;
};
type EmailSimplePropertyValueResponse = {
    type: "email";
    email: string | null;
};
type FilesSimplePropertyValueResponse = {
    type: "files";
    files: Array<InternalOrExternalFileWithNameResponse>;
};
type FormulaSimplePropertyValueResponse = {
    type: "formula";
    formula: FormulaPropertyValueResponse;
};
type LastEditedBySimplePropertyValueResponse = {
    type: "last_edited_by";
    last_edited_by: UserValueResponse;
};
type LastEditedTimeSimplePropertyValueResponse = {
    type: "last_edited_time";
    last_edited_time: string;
};
type MultiSelectSimplePropertyValueResponse = {
    type: "multi_select";
    multi_select: Array<PartialSelectPropertyValueResponse>;
};
type NumberPartialRollupValueResponse = {
    type: "number";
    number: number | null;
};
type NumberSimplePropertyValueResponse = {
    type: "number";
    number: number | null;
};
type PartialRollupValueResponseCommon = {
    function: RollupFunction;
};
type PeopleArrayBasedPropertyValueResponse = {
    type: "people";
    people: Array<UserValueResponse | GroupObjectResponse>;
};
type PhoneNumberSimplePropertyValueResponse = {
    type: "phone_number";
    phone_number: string | null;
};
type PlaceSimplePropertyValueResponse = {
    type: "place";
    place: PlacePropertyValueResponse | null;
};
type RelationArrayBasedPropertyValueResponse = {
    type: "relation";
    relation: Array<RelationItemPropertyValueResponse>;
};
type RichTextArrayBasedPropertyValueResponse = {
    type: "rich_text";
    rich_text: Array<RichTextItemResponse>;
};
type SelectSimplePropertyValueResponse = {
    type: "select";
    select: PartialSelectPropertyValueResponse | null;
};
type StatusSimplePropertyValueResponse = {
    type: "status";
    status: PartialSelectPropertyValueResponse | null;
};
type TitleArrayBasedPropertyValueResponse = {
    type: "title";
    title: Array<RichTextItemResponse>;
};
type UniqueIdSimplePropertyValueResponse = {
    type: "unique_id";
    unique_id: UniqueIdPropertyValueResponse;
};
type UrlSimplePropertyValueResponse = {
    type: "url";
    url: string | null;
};
type VerificationSimplePropertyValueResponse = {
    type: "verification";
    verification: VerificationPropertyValueResponse | null;
};
type FormulaPropertyValueResponse = BooleanFormulaPropertyValueResponse | DateFormulaPropertyValueResponse | NumberFormulaPropertyValueResponse | StringFormulaPropertyValueResponse;
export type InternalOrExternalFileWithNameResponse = InternalOrExternalFileWithNameResponseCommon & (FileInternalOrExternalFileWithNameResponse | ExternalInternalOrExternalFileWithNameResponse);
type PartialSelectPropertyValueResponse = {
    id: string;
    name: string;
    color: "default" | "gray" | "brown" | "orange" | "yellow" | "green" | "blue" | "purple" | "pink" | "red";
};
type PlacePropertyValueResponse = {
    lat: number;
    lon: number;
    name?: string | null;
    address?: string | null;
    aws_place_id?: string | null;
    google_place_id?: string | null;
};
export type RelationItemPropertyValueResponse = {
    id: IdRequest;
};
type UniqueIdPropertyValueResponse = {
    prefix: string | null;
    number: number | null;
};
export type VerificationPropertyValueResponse = VerificationPropertyUnverifiedResponse | VerificationPropertyResponse;
type BooleanFormulaPropertyValueResponse = {
    type: "boolean";
    boolean: boolean | null;
};
type DateFormulaPropertyValueResponse = {
    type: "date";
    date: DateResponse | null;
};
type ExternalInternalOrExternalFileWithNameResponse = {
    type: "external";
    external: {
        url: string;
    };
};
type FileInternalOrExternalFileWithNameResponse = {
    type: "file";
    file: InternalFileResponse;
};
type InternalOrExternalFileWithNameResponseCommon = {
    name: string;
};
type NumberFormulaPropertyValueResponse = {
    type: "number";
    number: number | null;
};
type StringFormulaPropertyValueResponse = {
    type: "string";
    string: string | null;
};
type VerificationPropertyResponse = {
    state: "verified" | "expired";
    date: DateResponse | null;
    verified_by: UserValueResponse | null;
};
type VerificationPropertyUnverifiedResponse = {
    state: "unverified";
    date: null;
    verified_by: null;
};
export {};
//# sourceMappingURL=common.d.ts.map