import { StarSchedAPIProtocols } from "../../../common/types/common";
import { HttpClientProtocols } from "../../../http/protocols/client.protocols";
import { CompanyPlan } from "./company-plan";
export declare namespace GetCompanyPlan {
    type Input = {
        company_id: string;
    };
    type Options = Pick<HttpClientProtocols.GetOptions, 'abortSignal'>;
    type Success = CompanyPlan;
    type ErrorCodes = 'validation' | 'token.not.provided' | 'token.invalid' | 'token.expired' | 'access.denied' | 'user.not.exists' | 'company.not.exists' | 'company.plan.not.exists' | 'internal';
    type Failure = {
        code: "validation";
        message: string;
        validation: {
            field: "company_id";
            type: "required";
            message: string;
        };
    } | {
        code: "validation";
        message: string;
        validation: {
            field: "company_id";
            type: "type";
            message: string;
        };
    } | {
        code: "validation";
        message: string;
        validation: {
            field: "company_id";
            type: "invalid";
            message: string;
        };
    } | {
        code: "token.not.provided";
        message: string;
    } | {
        code: "token.invalid";
        message: string;
    } | {
        code: "token.expired";
        message: string;
    } | {
        code: "access.denied";
        message: string;
    } | {
        code: "user.not.exists";
        message: string;
    } | {
        code: "company.not.exists";
        message: string;
    } | {
        code: "company.plan.not.exists";
        message: string;
    } | {
        code: "internal";
        message: string;
    };
    type Output = Success | Failure;
    type Response = StarSchedAPIProtocols.Response<Success, Failure>;
}
//# sourceMappingURL=get-plan.protocols.d.ts.map