import type { StarSchedAPIProtocols } from '../../../common/types/common';
import type { HttpClientProtocols } from '../../../http/protocols/client.protocols';
import type { CompanySignUpRequest } from './company-sign-up-request';
export declare namespace FinalizeCompanySignUpRequest {
    type Input = {
        token: string;
        owner_name: string;
        password: string;
        password_confirmation: string;
    };
    type Options = Pick<HttpClientProtocols.PostOptions, 'abortSignal'>;
    type Success = CompanySignUpRequest;
    type ErrorCodes = 'validation' | 'user.account.creation.request.token.not.exists' | 'user.email.exists' | 'user.account.creation.request.token.expired' | 'internal';
    type Failure = {
        code: 'validation';
        message: string;
        validation: {
            field: 'token';
            type: 'required';
            value?: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'token';
            type: 'type';
            value?: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'token';
            type: 'invalid';
            value?: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'owner_name';
            type: 'required';
            value?: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'owner_name';
            type: 'type';
            value?: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'owner_name';
            type: 'minlength';
            value?: number;
            message: 'The owner_name field must have at least 3 characters';
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'password';
            type: 'required';
            value?: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'password';
            type: 'type';
            value?: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'password';
            type: 'minlength';
            value: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'password_confirmation';
            type: 'required';
            value?: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'password_confirmation';
            type: 'type';
            value?: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'password_confirmation';
            type: 'minlength';
            value: number;
            message: string;
        };
    } | {
        code: 'validation';
        message: string;
        validation: {
            field: 'password_confirmation';
            type: 'divergent';
            value?: number;
            message: string;
        };
    } | {
        code: 'user.account.creation.request.token.not.exists';
        message: string;
    } | {
        code: 'user.email.exists';
        message: string;
    } | {
        code: 'user.account.creation.request.token.expired';
        message: string;
    } | {
        code: 'internal';
        message: string;
    };
    type Output = Success | Failure;
    type Response = StarSchedAPIProtocols.Response<Success, Failure>;
}
//# sourceMappingURL=finalize-company-sign-up-request.protocols.d.ts.map