import { ConfigContext, FieldDefinition, SortOrdering, StringDefinition } from "sanity";
import { Component, ComponentType } from "react";
import { ListItem, MenuItem, StructureBuilder } from "sanity/structure";
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
import { SanityClient } from "@sanity/client";
import { ToastParams } from "@sanity/ui";
type NewItemPosition = 'after' | 'before';
interface RankFieldConfig extends Partial<Omit<StringDefinition, 'name' | 'type' | 'initialValue'>> {
  type: string;
  newItemPosition?: NewItemPosition;
}
declare const orderRankField: (config: RankFieldConfig) => FieldDefinition<"string">;
declare const orderRankOrdering: SortOrdering;
interface OrderableListConfig {
  type: string;
  id?: string;
  title?: string;
  icon?: ComponentType;
  params?: Record<string, unknown>;
  filter?: string;
  menuItems?: MenuItem[];
  createIntent?: boolean;
  context: ConfigContext;
  S: StructureBuilder;
}
declare function orderableDocumentListDeskItem(config: OrderableListConfig): ListItem;
interface OrderableDocumentListProps {
  options: {
    type: string;
    client: SanityClient;
    filter?: string;
    params?: Record<string, unknown>;
    currentVersion?: string;
  };
}
interface State {
  showIncrements: boolean;
  resetOrderTransaction: ToastParams;
}
declare class OrderableDocumentList extends Component<OrderableDocumentListProps, State> {
  constructor(props: OrderableDocumentListProps);
  actionHandlers: {
    showIncrements: () => void;
    resetOrder: () => Promise<void>;
  };
  render(): _$react_jsx_runtime0.JSX.Element | null;
}
export { OrderableDocumentList, type OrderableListConfig, type RankFieldConfig, orderRankField, orderRankOrdering, orderableDocumentListDeskItem };
//# sourceMappingURL=index.d.ts.map