import { IBuilder } from "./../../GN-library/xbuilder/lib/IBuilder";
type MethodType = "GET" | "HEAD" | "PUT" | "PATCH" | "POST" | "DELETE" | "UPDATE";
declare abstract class BuilderBase {
    protected enable: boolean;
    protected origin: string;
    protected methods: MethodType[];
    protected allowedHeaders: string[];
    protected credentials: boolean;
    protected enableSendAndReceiveDebug: boolean;
    protected enablePostViaMsgPack: boolean;
    protected enablePostViaJson: boolean;
    getEnable(): boolean;
    getOrigin(): string;
    getMethods(): MethodType[];
    getAllowedHeaders(): string[];
    getCredentials(): boolean;
    getEnableSendAndReceiveDebug(): boolean;
    getEnablePostViaMsgPack(): boolean;
    getEnablePostViaJson(): boolean;
    constructor();
}
declare class Builder extends BuilderBase implements IBuilder<HttpAppSettings> {
    setOrigins(origin: string): Builder;
    addMethod(methodType: MethodType): Builder;
    addMethods(methodTypes: MethodType[]): Builder;
    removeMethod(methodType: MethodType): Builder;
    addAllowedHeader(allowedHeader: string): Builder;
    addAllowedHeaders(allowedHeaders: string[]): Builder;
    setCredentials(credentials: boolean): Builder;
    setEnable(enable: boolean): Builder;
    setEnableSendAndReceiveDebug(enableSendAndReceiveDebug: boolean): Builder;
    setEnablePostViaMsgPack(enablePostViaMsgPack: boolean): Builder;
    setEnablePostViaJson(enablePostViaJson: boolean): Builder;
    build(): HttpAppSettings;
    constructor();
}
export declare class HttpAppSettings extends BuilderBase {
    constructor(builder: Builder);
    static Builder(): Builder;
}
export {};
