import { InteractionEvent } from "pixi.js"; import { DButton, DButtonEvents, DButtonOptions, DThemeButton } from "./d-button"; import { DOnOptions } from "./d-on-options"; import { UtilFileAs as DButtonFileAs, UtilFileEvents, UtilFileOpener } from "./util/util-file-opener"; export { DButtonFileAs }; /** * {@link DButtonFile} events. */ export interface DButtonFileEvents extends DButtonEvents, UtilFileEvents { } /** * {@link DButtonFile} "on" options. */ export interface DButtonFileOnOptions extends Partial>, DOnOptions { } export type DButtonFileChecker = () => Promise | boolean; /** * {@link DButtonFile} options. */ export interface DButtonFileOptions = DThemeButtonFile, EMITTER = any> extends DButtonOptions { /** * An output format. */ as?: keyof typeof DButtonFileAs | DButtonFileAs; /** * A checker called before opening a file. * If the checker returns false or the returned promise object is rejected, * files will not be opened. */ checker?: DButtonFileChecker; on?: DButtonFileOnOptions; } /** * {@link DButtonFile} theme. */ export interface DThemeButtonFile extends DThemeButton { } /** * A file selector. */ export declare class DButtonFile = DThemeButtonFile, OPTIONS extends DButtonFileOptions = DButtonFileOptions> extends DButton { protected _checker?: DButtonFileChecker | null; protected _opener?: UtilFileOpener; protected getChecker(): DButtonFileChecker | null; protected getOpener(): UtilFileOpener; protected newOpener(): UtilFileOpener; protected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void; protected check(onResolve: () => void): void; open(): void; protected getType(): string; }