import React from "react";
import { MatrixClient } from "matrix-js-sdk/src/matrix";
export interface IScrollableBaseState {
    canSubmit: boolean;
    title: string;
    actionLabel: string;
    cancelLabel?: string;
}
/**
 * Scrollable dialog base from Compound (Web Components).
 */
export default abstract class ScrollableBaseModal<TProps extends {
    onFinished?: (...args: any[]) => void;
}, TState extends IScrollableBaseState> extends React.PureComponent<TProps, TState> {
    protected constructor(props: TProps);
    protected get matrixClient(): MatrixClient;
    private onKeyDown;
    private onCancel;
    private onSubmit;
    protected abstract cancel(): void;
    protected abstract submit(): void;
    protected abstract renderContent(): React.ReactNode;
    render(): React.ReactNode;
}
