import { CopyTextViewProps } from "../views/copy-text-view";
export declare type ValidationErrorCode = "EXISTING_CODE_CONFLICT" | "INVALID_CHARACTER" | "BLOCKED_WORD" | null;
export interface ValidationErrorInfo {
  code: ValidationErrorCode;
  title: string;
  description: string;
}
export interface ShareLinkViewProps {
  copyTextViewProps: CopyTextViewProps;
  allowCustomization: boolean;
  customizeLinkLabel: string;
  saveLabelText: string;
  savingLabelText: string;
  cancelLabelText: string;
  editLabelText: string;
  charactersRemainingText: string;
  validatingLabelText: string;
  isEditing: boolean;
  editValue: string;
  domainPrefix: string;
  editsRemaining: number;
  maxEdits: number;
  limitReached: boolean;
  validationError: ValidationErrorInfo | null;
  isValidating: boolean;
  isSaving: boolean;
  characterLimit: number;
  minCharacters: number;
  charactersRemaining: number;
  editLimitText: string;
  editLimitReachedText: string;
  minCharactersText: string;
  supportLinkText: string;
  customizeDisabled: boolean;
  customizeDisabledTooltip: string;
  onCustomizeClick: () => void;
  onEditValueChange: (value: string) => void;
  onSave: () => void;
  onCancel: () => void;
}
export declare function ShareLinkView(props: ShareLinkViewProps): any;
