import { default as React } from 'react'; import { AllowedFileType } from '../../common/inputFileElement/InputFileElement'; /** * Lifecycle of the policy-document extract request driving the four * upload-pill visual states. Shared across the manual create page * (`CardPolicyFormSections`) and the AI CFO interactive form * (`UploadPolicyDocumentStep`). */ export type CardPolicyDocumentUploadState = "Not-Started" | "In-Progress" | "Completed" | "Error"; /** * Accepted MIME types for the policy-document file picker. Kept in one * place so the manual page and the AI CFO step stay in sync. */ export declare const POLICY_DOCUMENT_ACCEPTED_TYPES: AllowedFileType[]; export declare const DropZone: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { isError: boolean; }, React.DetailedHTMLProps, HTMLDivElement>, {}>; export declare const DropZoneCopy: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & React.ClassAttributes & React.HTMLAttributes & { theme?: import('@emotion/react').Theme; }, {}, {}>; export declare const UploadErrorMessage: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & React.ClassAttributes & React.HTMLAttributes & { theme?: import('@emotion/react').Theme; }, {}, {}>; export declare const UploadingPill: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, React.DetailedHTMLProps, HTMLDivElement>, {}>; export declare const UploadingLabel: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & React.ClassAttributes & React.HTMLAttributes & { theme?: import('@emotion/react').Theme; }, {}, {}>; export interface UploadingPillWithSweepProps extends Omit, "children"> { /** Total time the left-to-right sweep takes to fill the pill, in ms. */ duration: number; /** Content overlaid above the sweep — typically a ``. */ children?: React.ReactNode; /** * Fires when the sweep animation reaches 100%. Owners typically flip to * the `Extracting policy details...` pill on this callback so the visual * transition feels continuous. */ onSweepComplete?: () => void; } /** * Green pill with a left-to-right sweep that fills `successProgress` over * `duration` ms (once, with `forwards` fill mode, so it stays full). Wraps * the shared `ProgressBar` primitive from * `common/uploadAnimation/ProgressBarContainer`. */ export declare const UploadingPillWithSweep: React.ForwardRefExoticComponent>; /** * Purple/pink gradient-bordered pill shown while the extract API is still * running after the upload sweep has filled. Gradient and shimmer match * Figma node 9:24914. */ export declare const ExtractingPill: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, React.DetailedHTMLProps, HTMLDivElement>, {}>; /** * Label rendered inside `ExtractingPill` — uses the same shimmering gradient * as the pill border, clipped to the text glyphs via `background-clip: text`. * Falls back to the gradient's anchor pink (`#EE609C`) when text-clip isn't * supported. */ export declare const ExtractingLabel: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & React.ClassAttributes & React.HTMLAttributes & { theme?: import('@emotion/react').Theme; }, {}, {}>; export declare const UploadedPill: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, React.DetailedHTMLProps, HTMLDivElement>, {}>; export declare const UploadedPillContent: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, React.DetailedHTMLProps, HTMLDivElement>, {}>; export interface PolicyIconStyledProps { /** * File name (with extension) used to pick the right document-format icon * — PDF for `.pdf`, PNG for `.png`, and so on. Falls back to the generic * policy icon when the extension is unknown or no name is provided. */ fileName?: string; } /** * 16 px document icon centered in a 24 px square wrapper so it aligns with * the close-button on the other end of the `UploadedPill` row. The icon * shape is picked from the uploaded file's extension; all icons render in * `Colors.success` regardless of the source SVG's native colors. */ export declare const PolicyIconStyled: React.FC; export declare const UploadedFileName: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & React.ClassAttributes & React.HTMLAttributes & { theme?: import('@emotion/react').Theme; }, {}, {}>; export declare const RemoveButton: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, React.DetailedHTMLProps, HTMLButtonElement>, {}>; export declare const CloseIconStyled: import('@emotion/styled').StyledComponent & { title?: string; } & { theme?: import('@emotion/react').Theme; }, {}, {}>;