import { type Type, type Provider } from '@angular/core';
import { type Maybe } from '@dereekb/util';
import { type FileArrayAcceptMatchConfig } from './upload.accept';
import { type DbxButtonWorking } from '@dereekb/dbx-core';
/**
 * Compatable interface for DbxUploadActionDirective.
 */
export declare abstract class DbxFileUploadActionCompatable {
    abstract setDisabled(disabled?: Maybe<boolean>): void;
    abstract setWorking(working?: Maybe<DbxButtonWorking>): void;
    abstract setMultiple(multiple?: Maybe<boolean>): void;
    abstract setAccept(accept?: Maybe<FileArrayAcceptMatchConfig['accept']>): void;
}
/**
 * Provides a DbxUploadActionCompatable for a given type.
 */
export declare function provideDbxFileUploadActionCompatable<S extends DbxFileUploadActionCompatable>(sourceType: Type<S>): Provider[];
