/// <reference types="@rbxts/types" />
/// <reference types="snapdragon" />
/// <reference types="@rbxts/compiler-types" />
/// <reference types="roact" />
import Roact from "@rbxts/roact";
import { SnapProps } from "@rbxts/snapdragon";
import { IconEnum } from "./Icon";
export interface ButtonProps {
    Size?: UDim2;
    Icon: IconEnum;
    Color?: Color3;
    HoverColor?: Color3;
    Alignment: "left" | "right";
    OnClick?: () => void;
}
interface TitlebarProps extends SnapProps {
    Draggable?: boolean;
    Buttons?: Array<ButtonProps>;
    RenderContent?: () => Roact.Element;
    Size?: UDim2;
    TextColor?: Color3;
    Text?: string;
    TextSize?: number;
    DragBegan?: (pos: Vector3) => void;
    DragEnded?: (pos: Vector3) => void;
}
export declare const TITLEBAR_SIZE = 30;
export default class ZirconTitlebar extends Roact.Component<TitlebarProps> {
    private dragController;
    private dragRef;
    private frameRef;
    private maid;
    constructor(props: TitlebarProps);
    didMount(): void;
    willUnmount(): void;
    render(): Roact.Element;
}
export {};
