import React from 'react';
import type { OtherHTMLAttributes } from '@instructure/shared-types';
import type { OptionChild, SeparatorChild, GroupChild } from '../props';
import { Renderable } from '@instructure/shared-types';
type PageChildren = GroupChild | OptionChild | SeparatorChild | null | false;
type DrilldownPageOwnProps = {
id: string;
/**
* Children of type:
* ``, ``, ``
*/
children?: PageChildren | PageChildren[];
/**
* The title of the page displayed in the header
*/
renderTitle?: Renderable;
/**
* Label for the optional "action" option in the header (e.g.: "Select all")
*/
renderActionLabel?: React.ReactNode | (() => React.ReactNode);
/**
* Label for the "back" navigation in the header.
*
* If a function is provided, the first parameter of the function
* is the title of the previous page.
*/
renderBackButtonLabel?: React.ReactNode | ((prevPageTitle?: React.ReactNode) => React.ReactNode);
/**
* Callback fired when the "action" option is clicked in the header
*/
onHeaderActionClicked?: (event: React.SyntheticEvent) => void;
/**
* Callback fired when the "back" navigation option is clicked in the header
*/
onBackButtonClicked?: (newPageId: string, prevPageId: string) => void;
/**
* Hides the separator under the page header
*/
withoutHeaderSeparator?: boolean;
/**
* Is the page disabled
*/
disabled?: boolean;
};
type PropKeys = keyof DrilldownPageOwnProps;
type AllowedPropKeys = Readonly>;
type DrilldownPageProps = DrilldownPageOwnProps & OtherHTMLAttributes;
declare const allowedProps: AllowedPropKeys;
export type { DrilldownPageProps, PageChildren };
export { allowedProps };
//# sourceMappingURL=props.d.ts.map