import type { StarSchedAPIProtocols } from '../../../common/types/common';
import type { HttpClientProtocols } from '../../../http/protocols/client.protocols';
import type { Appointment } from './appointment';
export declare namespace ListCompanyPatientAppointments {
    type Input = {
        company_id: string;
        patient_id: string;
        month: Date;
    };
    type Options = Pick<HttpClientProtocols.GetOptions, 'abortSignal'>;
    type Success = Appointment[];
    type ErrorCodes = 'validation' | 'token.not.provided' | 'token.invalid' | 'token.expired' | 'user.not.exists' | 'company.not.exists' | 'company.patient.not.exists' | 'access.denied' | 'internal';
    type Failure = {
        code: "validation";
        message: string;
        validation: {
            field: "company_id";
            type: "required";
            value?: number;
            message: string;
        };
    } | {
        code: "validation";
        message: string;
        validation: {
            field: "company_id";
            type: "type";
            value?: number;
            message: string;
        };
    } | {
        code: "validation";
        message: string;
        validation: {
            field: "company_id";
            type: "invalid";
            value?: number;
            message: string;
        };
    } | {
        code: "validation";
        message: string;
        validation: {
            field: "patient_id";
            type: "required";
            value?: number;
            message: string;
        };
    } | {
        code: "validation";
        message: string;
        validation: {
            field: "patient_id";
            type: "type";
            value?: number;
            message: string;
        };
    } | {
        code: "validation";
        message: string;
        validation: {
            field: "patient_id";
            type: "invalid";
            value?: number;
            message: string;
        };
    } | {
        code: "validation";
        message: string;
        validation: {
            field: "month";
            type: "required";
            value?: number;
            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.patient.not.exists";
        message: string;
    } | {
        code: "internal";
        message: string;
    };
    type Output = Success | Failure;
    type Response = StarSchedAPIProtocols.Response<Success, Failure>;
}
//# sourceMappingURL=list-by-patient.d.ts.map