import * as React from 'react';
import { FeedbackData, FeedbackType } from '../feedback-dialog/index.js';
export { FeedbackData, FeedbackDialogAPI, FeedbackDialogState, FeedbackFormState, FeedbackType, feedbackDialogVariants } from '../feedback-dialog/index.js';

interface FeedbackDialogProps {
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
    onSubmit?: (data: FeedbackData) => void | Promise<void>;
    type?: FeedbackType;
    className?: string;
    children?: React.ReactNode;
}
declare function FeedbackDialog({ open: controlledOpen, onOpenChange, onSubmit, type, className, }: FeedbackDialogProps): React.DetailedReactHTMLElement<{
    'data-state': string;
    role?: string | undefined;
    tabIndex?: number | undefined;
    'aria-label'?: string | undefined;
    'aria-labelledby'?: string | undefined;
    'aria-describedby'?: string | undefined;
    'aria-controls'?: string | undefined;
    'aria-expanded'?: boolean | undefined;
    'aria-selected'?: boolean | undefined;
    'aria-hidden'?: boolean | undefined;
    'aria-disabled'?: boolean | undefined;
    'aria-pressed'?: boolean | "mixed" | undefined;
    'aria-checked'?: boolean | "mixed" | undefined;
    'aria-current'?: boolean | "page" | "step" | "location" | "date" | "time" | undefined;
    'aria-live'?: "off" | "assertive" | "polite" | undefined;
    'aria-atomic'?: boolean | undefined;
    className: string;
}, HTMLElement> | null;
declare namespace FeedbackDialog {
    var displayName: string;
}
interface FeedbackButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
    children?: React.ReactNode;
}
declare const FeedbackButton: React.ForwardRefExoticComponent<FeedbackButtonProps & React.RefAttributes<HTMLButtonElement>>;

export { FeedbackButton, type FeedbackButtonProps, FeedbackDialog, type FeedbackDialogProps };
