import type { PHDocument } from "document-model";
import type { GrantSystemDocument } from "../../../document-models/grant-system/v1/gen/types.js";
import type { GrantPoolDocument } from "../../../document-models/grant-pool/v1/gen/types.js";
import type { GrantApplicationDocument } from "../../../document-models/grant-application/v1/gen/types.js";
declare function pickPoolDotClass(state: GrantPoolDocument["state"]["global"]): string;
declare function pickAppDotClass(stage: GrantApplicationDocument["state"]["global"]["reviewStage"]): string;
declare function pickSystemDotClass(verificationState: GrantSystemDocument["state"]["global"]["verificationState"]): string;
export type DocumentBrowserMode = "funder" | "applicant";
export declare function DocumentBrowser({ mode, onCreate, creatingType, canCreate, extraDocuments, }: {
    mode: DocumentBrowserMode;
    onCreate: (docType: string, name: string) => void;
    creatingType: string | null;
    canCreate: boolean;
    /**
     * Documents to merge in on top of `useDocumentsInSelectedDrive()`. Used by
     * the funder back-office to inject cross-drive applications fetched from
     * the switchboard so the sidebar count matches the kanban. Deduped by
     * `header.id` — entries from `extraDocuments` win on conflict (fresher).
     */
    extraDocuments?: ReadonlyArray<PHDocument>;
}): import("react/jsx-runtime").JSX.Element;
export declare const dotClassForPool: typeof pickPoolDotClass;
export declare const dotClassForApp: typeof pickAppDotClass;
export declare const dotClassForSystem: typeof pickSystemDotClass;
export {};
//# sourceMappingURL=DocumentBrowser.d.ts.map