import { ICommand, PropertyChanged } from './ICommand'; import { CommandResult } from "./CommandResult"; import { CommandValidator } from './CommandValidator'; import { Constructor } from '@cratis/fundamentals'; import { GetHttpHeaders } from '../GetHttpHeaders'; import { PropertyDescriptor } from '../reflection/PropertyDescriptor'; export declare abstract class Command implements ICommand { readonly _responseType: Constructor; readonly _isResponseTypeEnumerable: boolean; private _microservice; private _apiBasePath; private _origin; private _httpHeadersCallback; abstract readonly route: string; abstract readonly validation: CommandValidator; abstract readonly propertyDescriptors: PropertyDescriptor[]; abstract get requestParameters(): string[]; abstract get properties(): string[]; private _initialValues; private _hasChanges; private _callbacks; constructor(_responseType: Constructor | undefined, _isResponseTypeEnumerable: boolean); setMicroservice(microservice: string): void; setApiBasePath(apiBasePath: string): void; setOrigin(origin: string): void; setHttpHeadersCallback(callback: GetHttpHeaders): void; execute(): Promise>; validate(): Promise>; private buildPayload; private buildHeaders; private performRequest; clear(): void; setInitialValues(values: TCommandContent): void; setInitialValuesFromCurrentValues(): void; revertChanges(): void; get hasChanges(): boolean; propertyChanged(property: string): void; onPropertyChanged(callback: PropertyChanged, thisArg: object): void; private updateHasChanges; } //# sourceMappingURL=Command.d.ts.map