import { Terminal } from '@xterm/xterm';

interface StatEntry {
    name: string;
    isDirectory: boolean;
    mode?: number;
    nlink?: number;
    uid?: string | number;
    gid?: string | number;
    size?: number;
    mtime?: number | string;
    error?: string;
}
interface FSStat {
    isDirectory: boolean;
    mode?: number;
    nlink?: number;
    uid?: string | number;
    gid?: string | number;
    size?: number;
    mtime?: number | string;
    [key: string]: any;
}
type CommandFunction = (args: string[]) => string | Promise<string | undefined | void> | void;
type Options = {
    extraCommands?: {
        [key: string]: CommandFunction;
    };
    initialMessage?: string;
    prompt?: string;
    url: string;
};
declare const dterm: (term: Terminal, options?: Options) => void;

export { type FSStat, type Options, type StatEntry, dterm };
