///
import { WorkspaceElement, WorkspaceVisibility } from "edifice-ts-client";
import { ToolbarItem } from "../../components";
export type RecordState = "IDLE" | "RECORDING" | "PAUSED" | "RECORDED" | "SAVING" | "SAVED";
export type PlayState = "IDLE" | "PLAYING" | "PAUSED";
export default function useAudioRecorder(onSaveSuccess?: (resource: WorkspaceElement) => void, onUpdateRecord?: (audioUrl?: string) => void, hideSaveAction?: boolean, visibility?: WorkspaceVisibility, application?: string): {
recordState: RecordState;
playState: PlayState;
audioContext: AudioContext | undefined;
recordTime: number;
maxDuration: number;
audioRef: import("react").RefObject;
audioNameRef: import("react").RefObject;
toolbarItems: ToolbarItem[];
handlePlayEnded: () => void;
handleSave: () => Promise;
};